MySql数据类型
一、数字数据类型
所有数字类型都有两个选项:unsigned和zerofill
unsigned不允许有负数
zerofill如果数值的宽度小于定义的显示宽度,则在数值前填充0
1.TINYINT
占用1个字节
tinyint unsigned 表示0~255
tinyint 表示-128~127
2.SMALLINT
占用2个字节
-32768~32767,0~65535(unsigned)
3.MEDIUMINT
占用3个字节
-8388608~8388607(signed),0~16777215
4.INT
占用4个字节
-2147483648~2147483647,0~4294967295
5.BIGINT
占用8个字节
-9223372036854775808~9223372036854775807,0~..
6.FLOAT
float[m,d]
用于表示数值较小的浮点数据,可以提供更加准确的数据精度。
其中,M代表浮点数据的长度(即小数点左右数据长度的总和),D表示浮点数据位于小数点右边的数值位数。
如下:
rainfall FLOAT (4,2);
按照上述数据类型的设置
42.35为有效数据
而324.45和3.542则因为超过数据长度限制或者小数点右边位数大于规定值2成为无效数据。
7.DOUBLE
double[m,d]
8.DECIMAL
DECIMAL[m,d]
将一个数字象字符串一样储存,一个字符占一个字节
9.numeric
同decimal
二、字符数据类型
1.char
0~255个字符,固定长度
2.varchar
0~255个字符,会缩小
3.blob
二进制对象,最多65535个字符
4.text
最多65535个字符
5.tinyblob
二进制对象,最多255个字符
6.tinytext
最多255个字符
7.mediumblob
最多16777215个字符
8.mediumtext
最多16777215个字符
9.longblob
最多4294967295个字符
10.longtext
最多4294967295个字符
11.enum('value1','value2',..)
枚举,只能有一个指定值,最多有65535个值
12.set('value1','value2',..)
一个集合,可以有0~64个值
char(100)可以放50个汉字
三、时间数据类型
1.DATE
用于保存日期数据,默认格式为 YYYY-MM-DD。
2.TIME
默认格式为 HH:MM:SS。
3.YEAR
默认格式为 YYYY。
4.DATETIME
默认格式为 YYYY-MM-DD HH:MM:SS。
5.TIMESTAMP
默认格式为 YYYYMMDDHHMMSS。
timestamp有多种选择
timestamp(14) yyyymmddhhmmss
timestamp(12) yymmddhhmmss
timestamp(10) yymmddhhmm
timestamp(8) yyyymmdd
timestamp(6) yymmdd
timestamp(4) yymm
timestamp(2) yy
四、布尔数据类型
bool
常用的参数
auto_increment 数字会自动加1
not null 不能为空
primary key 主索引
default 指定默认值



