常用基础 - 字段类型 ¶
作者:KK
发表日期:2017.11.27
在表里面,一个字段就是一列,每个字段都有不同的数据类型,一旦设定了类型,就不能储存其它类型的数据了。
建表时指定字段类型 ¶
CREATE TABLE `test` (
`name` varchar(20) NOT NULL,
`age` int(3) NOT NULL
) ENGINE=MyISAM
这样就是创建一张test表,其中包含了name和age两个字段,name字段的类型是varchar(变长字符串),长度为20位;age字段是int(整数),长度为3位。
各种字段类型介绍 ¶
INT
:整数类型,长度为4字节,有符号长度为-2147483648到2147483647,无符号长度为0到4294967295。TINYINT
:不知怎么叫它好,暂时叫“小整形”吧,长度为1字节,有符号长度为-128到127,无符号长度为0到255。VARCHAR
:变长字符串类型,长度为 0 ~ 255 字节(需要指定),一旦设定了长度,比如20,那么储存超出20个字符时会被截取前20个字符进行储存,而指定了0个的时候存什么字符都会储存为空的~我也不知为什么这样设计,至少要指定1个长度嘛。TEXT
:长文本类型,无须指定长度,根据储存的内容自动确定储存长度,最大储存65535字节的内容。DATE
:日期类型,长度为4字节,内容格式是YYYY-MM-DD
,储存的日期范围为1000-01-01到9999-12-31。DATETIME
:日期时间类型,长度为8字节,内容格式是YYYY-MM-DD HH:MM:SS
,1000-01-01 00:00:00到9999-12-31 23:59:59。ENUM
:枚举类型,长度为1字节,创建字段时要指定一些值,以后储存的时候也只能储存这些值。有些同学可能不是很理解“枚举”类型,比如字段名叫“system”,建表时指定为 ENUM 类型,指定了可储存的值为 android 和 ios 两个值,那用的时候要是想存 windows 是不行的,这就是枚举,可以解释为“列举了可选值,只能从中选一”的意思,在 C/C++ 和 VB 等一些语言里都有枚举数据类型。SMALLINT
:也是个小整型,长度为2字节,有符号长度为-32768到32767,无符号长度为0到65535。MEDIUMINT
:叫中级整型吧……长度为2字节,有符号长度为-8388608到8388607,无符号长度为0到16777215。BIGINT
:大整型,长度为2字节,有符号长度为-9233372036854775808到9233372036854775807,无符号长度为0到18446744073709551615。CHAR
:定长字符串类型,长度也是 0 ~ 255,跟VARCHAR的区别是假如你指定了长度为10,而存入的内容如果不足10个长度会被MySql自动用空格填充到10个长度为止,适合储存确定长度的字符。而不可确定长度时用VARCHAR则会更加节约磁盘空间。
以上是比较常见的数据类型,其它都不常用的,要就自己上网查更多资料吧~