数值类型中
,有符号(SIGNED)和 无符号(UNSIGNED)表示的是这个数的正负,有符号为正,无符号为负。- 精度是指整个数的位数,标度指的是小数点后面有几位
- 例如score double(4,1) 表示的是分数
- 4表示的是数据的最大长度【分数最大是100.0一共四位】
- 1表示的是小数点后的位数。
- 年龄字段 ——不会出现负数,且人的年龄不会太大。
- 所以写成:age tinyint unsigned。
字符串类型中
,char 与 varchar 都可以描述字符串,char
是定长字符串
,指定长度多长,就占用多少个字符,和字段值的长度无关 。varchar
是变长字符串
,指定的长度为最大占用长度 。- 相对来说,char的性能会更高些。
- 例如:
- (1)
用户名username
长度不定,最长不超过50
username varchar(50)
- (2)
性别gender
存储值,不是男,就是女
gender char(1)
- (3)
手机phone
固定长度为11
phone char(11)
BLOB
表示的是二进制类型的数据【例如:安装包,音频】TEXT
用于描述文本类型的数据。
- 例如:
- (1)
生日字段 birthday
birthday date
- (2)
创建时间 createtime
createtime datetime
DDL语句修改表的操作
添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束]; | |||||||
为刚刚创建的emp表添加一个新的字段 ‘昵称’ 为nickname,类型为varchar。
修改字段
修改数据类型
ALTER TABLE 表名 MODYIFY 字段名 新型数据类型(长度); | |||||||
修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT 注释] [约束]; | |||||||
将emp表的nickname字段修改为username,类型为varchar(30)。
删除字段
ALTER TABLE 表名 drop 字段名; | |||||||
将emp表的字段username 删除
修改表名
ALTER TABLE 表名 RENAME TO 新表名; | |||||||
将emp表的表名修改为 employee。
DDL删表操作
删除表
DROP TABLE [IF EXISTS] 表名; | |||||||
删除指定表,并重新创建该表
TRUNCATE TABLE 表名; | |||||||
注意:第一种是直接删除整个表,第二种是删除表以后再创建一个无数据的空表,这两种删除表的方式都会将表中的数据全部删除掉。
总结