注意: []可省略不写,如果要写的话,就写[]里面的内容,别写[]符号 注意:以下操作是有上下文联系的,建议跟着命令从上面到下面敲一遍(命令可直接复制使用)

 

MySQL中的数据类型主要分为3类:数值类型、字符串类型、日期时间类型

 

数值类型

数值类型大小有符号范围无符号范围描述
tinyint1byte(-128,127)(0,255)小整数值
smallint2byte(-32768,32767)(0,65535)大整数值
mediumint3byte(-8388608,8388607)(0,16777215)大整数值
int或integer4byte(±2147483648)(0,4294967295)大整数值
bigint8byte(-2^63,2^63-1)(0,2^64-1)极大整数值
float4byte自己去查自己去查单精度浮点数值
double8byte自己去查自己去查双精度浮点数值
decimal小数值(精确定点数)

 

有符号范围:指的是该类型允许出现负数的前提下,该类型的取值范围。写法:例如tinyint 无符号范围:指的是该类型不允许出现负数的前提下,该类型的取值范围。写法:例如tinyint unsigned 精度:例如123.45的精度是总长度5、标度是小数位长度2

例如 1、年龄age的类型 --> tinyint unsigned 使用无符号的tinyint类型,年龄不出现负数 2、分数score的类型 --> double(4,1) 总位数为4,允许出现1位小数

 

字符串类型

字符串类型大小描述使用场景
char0-255定长字符串(性能高)性别
varchar0-65535变长字符串(性能较差)用户名
tinyblob0-255不超过255个字节的二进制数据/
tinytext0-255短文本字符串/
blob0-65535二进制的长文本数据/
text0-65535长文本数据/
mediumblob0-16777215二进制的中等长度文本数据/
mediumtext0-16777215中等长度文本数据/
longblob0-4294967295二进制的极大文本数据/
longtext0-4294967295极大文本数据/

 

定长字符串:例如char(10),指的是当前字符串即使只存储一个字符,也会占用10个字符的空间,未占用的字符系统会用空格补 变长字符串:例如varchar(10),指的是当前字符串能够存储的最大长度,存储几个字符就占用几个字符的空间

 

日期时间类型

日期时间类型大小范围格式描述
date3 1000-01-01至9999-12-31YYYY-MM-DD日期值
time3-838:59:59至838:59:59HH:MM:SS时间值或持续时间
year11901至2155YYYY年份值
datetime81000-01-01 00:00:00至9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值、时间戳

 

例如我们描述生日字段,适合使用date类型

 


 

一、查询

1、查询当前数据库所有表

2、查询表结构

3、查询指定表的建表语句

4、查询指定表当时的创建语句(包含表结构和数据)

 


 

二、创建

例如:

 

如何使用图形化界面创建表

以DataGrip为例,右键某一个数据库,点击New,点击Table,再弹出来的选项卡的Table下方的输入框输入表名,例如user,在 该选项卡的中间空白地方的左上角点击+号,再弹出来的小组件的Name下面的输入框输入字段名例如name、在Type下面的输入 框输入字段类型例如int,勾选中间空白地方的右上角的Primary Key,则该字段就可以称为主键(后续a_22_0会有学),如果勾选 Auto那么该字段就会自动增长,同理unique就是唯一,not null就是非空

 


 

案例:根据需求创建表,设计合理的数据类型、长度

要求: 1、编号,纯数字 2、员工工号,字符串类型,长度不超过10位 3、员工姓名,字符串类型,长度不超过10位 4、性别,男/女,存储一个汉字 5、年龄,不可存储负数 6、身份证号,18位,身份证中有X这样的字符 7、入职时间,取值年月日即可

 

小提示:鼠标右键点一下cmd那个黑窗口可以直接粘贴 注意上面的SQL语句创建的是表结构,里面还没有添加进数据 涨知识:上述的'编号'、'工号'、'姓名' 等列头,叫做字段

 


 

三、修改

 

1、添加字段

案例:为上面的emp表增加一个新的字段'昵称'为nickname,类型为varchar(20)

 

2、修改数据类型

 

3、修改字段名和字段类型

案例:将emp表的nickname字段修改为username,类型为varchar(30);

 

4、删除字段

案例:将emp表的字段username删除

 

5、修改表名,注意to可以省略

案例:将emp表的表名修改为employee

 


 

四、删除

 

1、删除表

 

2、删除指定表,并重新创建该表

例如:删除表和该表里面的数据

例如:删除表里面的数据,同时重新创建新的该表,新表只有旧表的表结构,没有旧表的数据