【MySQL】数据库基础

文章目录


1、什么是数据库

数据库是一类软件,是对数据进行高效的组织,数据库是基于数据结构实现出来的软件,内部会用到很多数据结构的东西
数据库大概可以分为两类:
关系型数据库: MySQL,Oracle,SQLServer,SQLite...
非关系型数据库: Redis,MongoDB,HBase...
注意: 上述所说的都是软件,以下所讲的都是SQL这门编程语言,去操作MySQL数据库

2、数据库的操作

数据库的写法不分大小写

2.1显示当前数据库

MySQL自带了很多系统库,我们使用show databases;就能看到当前所有的数据库

sql 复制代码
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| java_code          |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)

上述除了java_code是创建的,其余都是MySQL自带的系统库

2.2创建数据库

sql 复制代码
create database 数据库;

创建一个名叫dome的数据库

sql 复制代码
mysql> create database dome;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dome               |
| java_code          |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

我们也可以指定字符集创建数据库

sql 复制代码
create database 数据库 charset 字符集;

注意:数据库的名字不能是SQL的关键字

2.3选中数据库

sql 复制代码
use 数据库名

一个 MySQL 服务器上,数据库是可以有多个的,在对数据库进行操作的时候我们就要先选中对哪个库进行操作

2.4删除数据库

sql 复制代码
drop database 数据库名;

注意:删除数据库是一个非常危险的操作

3、常用数据类型

3.1数值类型

分整型和浮点型

3.2字符串类型

3.3日期类型

上述类型虽然多但是我们主要掌握四个类型即可:
表示整数:int
表示小数:double
表示字符串:varchar
表示时间日期:datetime

其余类型简单了解

4、表的操作

在进行以下操作时,要选中数据库,后续我们都针对dome这个数据库进行操作

4.1创建表

sql 复制代码
create table 表名(列名 类型,列名 类型...);

注意:我们定义字段是字段名在前 字段类型在后,中间用空格隔开,每列中间用逗号隔开

举例如下:

sql 复制代码
mysql> create table student(id int, name varchar(20));
Query OK, 0 rows affected (0.02 sec)

同一个表中是不能存在两张名字相同的表,而且表名和列名不能和SQL关键字相同,如果表名和列名与关键字相同就要使用反引号引起来

4.2显示表

sql 复制代码
mysql> show tables;
+----------------+
| Tables_in_dome |
+----------------+
| student        |
+----------------+
1 row in set (0.00 sec)

通过以上代码就可以查看到该数据库中的所有表

4.3查看表的结构

sql 复制代码
desc 表名;

举例如下:

sql 复制代码
mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

上述Field表示字段也可以叫做列

Type表示类型(11)表示在控制台中显示这一列的数值的时候,最多占11个字符这样的位置

(20),这里面的20并不是表示20个字节,而是表示20个字符,具体大小取决于你数据库设定的字符集,要知道不同的字符集设定的每个字符大小可是不一样的

其余几个我们会在后续慢慢讲解

4.4删除表

sql 复制代码
drop table 表名;

注意:删除表和删除库一样都是危险的操作

相关推荐
后端码匠4 小时前
MySQL 8.0安装(压缩包方式)
android·mysql·adb
欧先生^_^6 小时前
Linux内核可配置的参数
linux·服务器·数据库
问道飞鱼6 小时前
【数据库知识】Mysql进阶-高可用MHA(Master High Availability)方案
数据库·mysql·adb·高可用·mha
tiging6 小时前
centos7.x下,使用宝塔进行主从复制的原理和实践
数据库·mysql·adb·主从复制
wangcheng86997 小时前
Oracle常用函数-日期时间类型
数据库·sql·oracle
zizisuo7 小时前
面试篇:Spring Security
网络·数据库·安全
一只fish7 小时前
MySQL 8.0 OCP 1Z0-908 题目解析(2)
数据库·mysql
StarRocks_labs7 小时前
从InfluxDB到StarRocks:Grab实现Spark监控平台10倍性能提升
大数据·数据库·starrocks·分布式·spark·iris·物化视图
搞不懂语言的程序员8 小时前
Redis的Pipeline和Lua脚本适用场景是什么?使用时需要注意什么?
数据库·redis·lua
王RuaRua8 小时前
[数据结构]5. 栈-Stack
linux·数据结构·数据库·链表