| 分类 | 数据类型 | 说明 |
|---|---|---|
| 字符 | CHAR | 1~255个字符的定长串,它的长度必须在创建时指定,否则MySQL假定为CHAR(1) |
| ENUM | 接受最多64K个串组成的一个预定义集合的某个串 | |
| LONGTEXT | 与TEXT相同,但最大长度为4GB | |
| MEDIUMTEXT | 与TEXT相同,但最大长度为16K | |
| SET | 接受最多64K个串组成的一个预定义集合的零个或多个串 | |
| TEXT | 最大长度为64K的变长文本 | |
| TINYTEXT | 与TEXT相同,但最大长度为255字节 | |
| VARCHAR | 长度可变,最多不超过255字节,VARCHAR(n) n<=255 | |
| 数值(如果UNSIGNED,范围只有非零) | BIT | 位字段,1-64位 |
| BIGINT | 整数值,-9223372036854775808~9223372036854775807 | |
| BOOLEAN/BOOL | 布尔值,0或1 | |
| DECIMAL/DEC | 精度可变的浮点值 | |
| DOUBLE | 双精度浮点值 | |
| FLOAT | 单精度浮点值 | |
| INT/INTEGER | 整数值,-2147483648~2147483647 | |
| MEDIUMINT | 整数值,-8388608~-8388607 | |
| REAL | 4字节的浮点值 | |
| SMALLINT | 整数值,-32768~32767 | |
| TINYINT | 整数值,-128~127 | |
| 日期时间 | DATE | 1000-01-01~9999-12-31,格式YYYY-MM-DD |
| DATETIME | DATE与TIME的组合 | |
| TIMESTAMP | 功能与DATETIME相同,但范围减小 | |
| TIME | 格式HH:MM:SS | |
| YEAR | 两位数:70(1970)~69(2069),四位数:1901-2155 | |
| 二进制 | BLOB | 最大长度64KB |
| MEDIUMBLOB | 最大长度16MB | |
| LONGBLOB | 最大长度4GB | |
| TINYBLOB | 最大长度255字节 |
字段属性的设置
- 数据类型指定
unisigned关键字:取正区间
- 串数据类型
- 定长串:char(),1~255个字符,长度必须指定,mysql默认char(1)
- 变长串:varchar(n),长度可变,最多超过255个字节, n<=255
- 文本:text——最大长度为64K的变长文本;longtext——最大长度4GB,mediumtext——最大长度16K;tinytext——最大长度为255字节
- enum:接受最多64K个串组成的一个预定义集合的某个串
- set:接受最多64个串组成的一个预定义集合的多个串或零个串
使用引号:不管何种类型,串值都必须括在引号内(通常单引号)
- 数值类型
- bit:位字段,1~64位
- tinyint:整型,-128~127
- smallint:整型,-32768~32767
- mediumint:整型,-8388608~8388607
- int(integer):整型,-2147483648~2147483647
- bigint:整型,-92233720368547758~92233720368547757
- float:单精度浮点值
- double:双精度浮点值
- real:4字节的浮点值
- decimal\dec:精度可变的浮点值
- boolean\bool:布尔标志,0\1
- 日期时间类型
- timestamp:与datetime相同,但范围较小
- time:格式HH:MM:SS
- datetime:date和time的组合
- date:1000-01-01~999-12-31的日期,YY-MM-DD
- year:2位数字表示,范围:70(1970)~69(2069);4位数字表示,范围:1901~2155年
- 二进制类型
- tinyblob:最大长255字节
- blob:最大长64KB
- mediumblob:最大长16MB
- longblob:最大长4GB
- NULL/NOT NULL:允许列NULL,若是NOT NULL,插入null时会报错
- primary(col1,col2,..):指定主键
- auto_increment:每增一行自动增量,一个insert操作,+1
- 指定默认值:default 1/2/3
- 引擎类型:engine=InnoDB\MEMORY\MyISAM
