数据类型和约束
1.数据类型:
常用数据类型:
(1)整数:int,bit
(2)小数:decimal
(3)字符串:char,varchar
(4)日期时间:date,time,datetime
(5)枚举类型:enum
说明:
(1)decimal表示浮点数,如 decimal(5, 2) 表示共存5位数,小数占 2 位。
(2)char表示固定长度的字符串,如char(3),如果填充’ab’时会补一个空格为’ab ‘。
(3)varchar表示可变长度的字符串,如varchar(3),填充’ab’时就会存储’ab’。
(4)对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径。
(5)字符串 text 表示存储大文本,当字符大于 4000 时推荐使用, 比如技术博客。
数据类型附录表:
整数类型
类型 | 字节大小 | 有符号范围(Signed | 无符号范围(Unsigned) |
---|---|---|---|
TINYINT | 1 | -128 ~ 127 | 0 ~ 255 |
SMALLINT | 2 | -32768 ~ 32767 | 0 ~ 65535 |
MEDIUMINT | 3 | -8388608 ~ 8388607 | 0 ~ 16777215 |
INT/INTEGER | 4 | -2147483648 ~2147483647 | 0 ~ 4294967295 |
BIGINT | 8 | -9223372036854775808 ~ 9223372036854775807 | 0 ~ 18446744073709551615 |
字符串
类型 | 字节大小 | 示例 |
---|---|---|
CHAR | 0-255 | 类型:char(3) 输入 ‘ab’, 实际存储为’ab ‘, 输入’abcd’ 实际存储为 ‘abc’ |
VARCHAR | 0-255 | 类型:varchar(3) 输 ‘ab’,实际存储为’ab’, 输入’abcd’,实际存储为’abc’ |
TEXT | 0-65535 | 大文本 |
日期时间类型
类型 | 字节大小 | 示例 |
---|---|---|
DATE | 4 | ‘2020-01-01’ |
TIME | 3 | ‘12:29:59’ |
DATETIME | 8 | ‘2020-01-01 12:29:59’ |
YEAR | 1 | ‘2017’ |
TIMESTAMP | 4 | ‘1970-01-01 00:00:01’ UTC ~ ‘2038-01-01 00:00:01’ UTC |
2.数据约束:
常用约束:
(1)主键:primary key
(2)非空:not null
(3)唯一:unique
(4)默认:default
(5)外键:foreign key