MySQL的知识阶段小总结
1.MySQL的库操作
1.1 MySQL 显示已建库操作
语法格式:show databases;
注意事项:是databases而不是database,要加s。
使用该SQL语句,可以查找当前服务器所有的数据库。huan
如上图所示,画红框的Java13和test113是用户自己创建好库, 画蓝框里的的数据库是MySQL自带的数据库。
1.2 MySQL建库语法和一些小细节
1.建库语法
语法格式:create database [ if not exists ] 库名;
上图,我们建立了一个名字为exam的数据库,建库成功就会上图所示 。
2.小细节
1.校验语句 if not exists
注意事项:[ ] 里面的if not exists 可写可不写,其主要功能是起一个校验的作用,因为SQL语句是批量执行的,而不是手动一条一条执行的,为了防止以后因为一些小错误而影响整个程序的运行,我们通常会加上一些 校验语句。
此时,我们再此想建立一个名字为exam的数据库时,就会如下图所示
就会报错,错误解释:该数据已经存在。
但是如果我们加上校验语句:if not exists
我们就发现,此时程序不会直接报错,而是会报出一个警告,这样使程序的容错率就变大了。
2.明确字符集和排序规则
小建议:我们再建库的时候可以手动明确确认字符集。
如下图:
注意事项:MySQL8.0版本创建库时默认使用的字符集为 utf8mb4,5.7版本默认的字符集为latin1,latin1不支持存储中文。而对于排序规则来说,MySQL8.0版本默认的排序规则为utf8mb4_0900_ai_ci(8.0版本之后才支持),5.7版本默认的排序规则为utf8mb4_general_ci。
我们也可以用一条SQL语句来查看当前数据库服务全局的默认字符集。
该语句为:show variables like '%character%';
3.库名规则
建库时用的库名不能使用关键字,如果非要使用关键字,要用单引号括起来。
1.3 选择使用的数据库
关键MySQL语句:use 库名;
查看当前已选择使用的数据库MySQL语句:select database();
1.4 删除库操作
相关MySQL语句:drop database [ if exists ] 库名;
注意事项:删库操作是一个风险非常高的一个操作,在以后的工作中,我们不要轻易删除任意一个库。
2.MySQL的数据类型
MySQL中常用的数据类型有数值类型,字符串类和日期类型
1.数值类型
数据类型 | 大小 |
BIT[(M)] | M为指定位数,默认为1 |
TINYINT(tinyint) | 1字节 |
SMALLINT(smallint) | 2字节 |
INT(int) | 4字节 |
BIGINT(bigint) | 8字节 |
FLOAT(M,D) | 4字节 |
DOUBLE(M,D) | 8字节 |
DECIMAL(M,D) | M/D最大值+2 |
NUMERIC(M,D) | M/D最大值+2 |
具体说明:
1.smallint,int和bigint是用来表示整数的,在以后的使用中,我们通常会将编号定义为bigint类型。
2. float,double,decimal和numeric都是浮点数类型。
3. 由于float和double类型在存储浮点数时不太稳定,我们通常用decimal来存储浮点数。
4. (M,D)中的M表示浮点数的最大位数,D表示小数位数。
5. (M,D)中的M不计算小数和负数,如果D=0,则表示小数位数为0,表明其存的是一个整数。
6. 省略M时,M的默认值为10,省略D时,D的默认值为0。
2.字符串类型
数据类型 | 大小 | 说明 |
VARCHAR(SIZE) | 0~65535字节 | 可变长度字符串 |
TEXT | 0~65535字节 | 长文本数据 |
MEDIUMTEXT | 0~16777215字节 | 中等长度文本数据 |
BLOB | 0~65535字节 | 二进制形式的长文本数据 |
注意事项:varchar(size) 的size指定的是字符串的长度,不是字节大小。在utf8mb4的编码集中,一个字符占4个字节。
3.日期类型
数据类型 | 大小 | 说明 |
DATETIME(datetime) | 8字节 |
范围从
1000
到
9999
年,不会进行时区的
检索及转换。
|
TIMESTAMP(timestamp) | 4字节 |
范围从
1970
到
2038
年,自动检索当前时
区并进行转换。
|
3.表操作
一个库中可以存储多张表,每张表都有行和列。
1. 创建表
语法格式:
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
);
创建表要用到create table 这两个关键字,table_name为数据库名字,field为列,datatype为列的数据类型 。
在创建表的同时,我们可以用comment关键字来作为注释,不会影响表结构。
如下图
2.查看表结构
SQL语句:desc 表名;
3.删表操作
sql语句:drop table 表名;