SQL SELETE

SELECT

类型 具体类型 长度(byte) 范围 说明
整型 tinyint 1 -128~127
0~255(unsigned)
smallint 2 -32768~32767
0~65535(unsigned)
mediumint 3 -8388608~8388607
0~16777215(unsigned)
int 4 -2147483648~2147483647
0~4294967295(unsigned)
bigint 8 -9223372036854775808~9223372036854775807
0~18446744073709551615(unsigned)
浮点类型 decimal(M,D)
dec(M,D)
numeric(M,D)
M+2 超出精度范围,四舍五入进行处理 它们是同义词,其中 M 是总位数,D 是小数点后的位数,并且符号(负号和小数点)不计入位数。D 的默认值为 0,M 的默认值为 10。
float(M,D) 4 单精度浮点型
double(M,D) 8 双精度浮点型
日期时间 date 3 1000-01-01~9999-12-31 格式:YYYY-MM-DD
year 1 1901~2155 支持 2 位年份和 4 位(默认)年份
time 3 -838:59:59~838:59:59 格式:HH:MM:SS
timestamp 4 1970-01-01 00:00:00~2037 格式:YYYY-MM-DD HH:MM:SS,表中 timestamp 列只允许出现一次。
timestamp 和时区相关,存储时会转换为本地时区,取出时又会转换为当地时区,所以和 datetime 值显示可能不同。
datetime 8 1000-01-01 00:00:00~9999 格式:YYYY-MM-DD HH:MM:SS
字符串 char(M) M 个字符 定长,不足时右侧空格补齐,超出切断,检索时自动删除尾部空格
varchar(M) M 字符 +1 或 2 个字节 变长,每存 2^8 及 2^16 次数据时需要一个字节记录,不删除尾部空格
tinytext 0~255 长文本,存放文本
text 0~65535 长文本,存放文本
tinyblob 0~255 长度 1,使用指针方式存放二进制数据
blob 0~65535 长度 2,使用指针方式存放二进制数据
binary(M) M 字节 类似 char,但存储的是二进制字符串,所以没有字符集概念
varbinary(M) 类似 varchar,但存储的是二进制字符串,所以没有字符集概念
特殊 ENUM(a,b,c,d) 1 或 2 字节 字符串类型,多余一存储值时删除尾空格
SET(a,b,c,d) 从中取 0 或多个组合起来存储值,删除尾空格。成员间用逗号分隔。