一、数值类型
1、整型
整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT

我们完全没必要为整数类型指定显示宽度,使用默认的就可以了
默认的显示宽度,都是在最大值的基础上加1
2、浮点型
浮点型:FLOAT DOUBLE
定点数:DECIMAL
| 类型 | 定义 | 精确度 |
| FLOAT |
单精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。 |
随着小数的增多,精度变得不准确 |
| DOUBLE |
双精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。 |
随着小数的增多,精度比float要高,但也会变得不准确 |
| DECIMAL |
准确的小数值,m是数字总个数(负号不算),d是小数点后个数。 |
随着小数的增多,精度始终准确 对于精确数值计算时需要用此类型 |
二、字符串类型
1、char类型
char类型:定长,简单粗暴,浪费空间,存取速度快
字符长度范围:0-255(一个中文是一个字符,是utf8编码的3个字节)
存储:
存储char类型的值时,会往右填充空格来满足长度
例如:指定长度为10,存>10个字符则报错,存<10个字符则用空格填充直到凑够10个字符存储
检索:
在检索或者说查询时,查出的结果会自动删除尾部的空格,除非我们打开pad_char_to_full_length SQL模式(SET sql_mode = 'PAD_CHAR_TO_FULL_LENGTH';)
2、varchar类型
varchar类型:变长,精准,节省空间,存取速度慢
字符长度范围:0-65535(如果大于21845会提示用其他类型 。mysql行最大限制为65535字节,字符编码为utf-8:https://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html)
存储:
varchar类型存储数据的真实内容,不会用空格填充,如果'ab ',尾部的空格也会被存起来
检索:
尾部有空格会保存下来,在检索或者说查询时,也会正常显示包含空格在内的内容
三、日期类型

四、约束条件
| MySQL关键字 | 含义 |
| NULL | 数据列可包含NULL值 |
| NOT NULL | 数据列不允许包含NULL值 |
| DEFAULT | 默认值 |
| PRIMARY KEY | 主键 |
| AUTO_INCREMENT | 自动递增,适用于整数类型 |
| UNSIGNED | 无符号 |
|
FOREIGN KEY (FK) |
标识该字段为该表的外键 |
|
UNIQUE |
标识该字段为唯一的 |
浙公网安备 33010602011771号