在创建表的时候,要明确定义字段对应的数据类型。MySQL 主要的数据类型分为数值类型、字符串(文本)类型、时间日期类型和其他类型几类。
数值类型 数值类型说明:类型 说明 例子
tinyint 存储范围:-128至127或0至255 tinyint(1)
smallint 存储范围:-32768至32767或0至65535 smallint(3)
mediumint 存储范围:- 8388608至8388607或0至16777215 mediumint(5)
int 存储范围:- 2147483648至2147483647或0至4294967295 int(10)
bigint 存储范围:- 9223372036854775808至9223372036854775807或0至18446744073709551615 bigint(10)
float 最小非零值:±1.175494351E – 38,同double一样适用于精度要求高的场合 float(3,1)
double 最小非零值:±2.2250738585072014E - 308 double(10,5)
decimal 取值范围可变,以来括号内的显示尺寸和小数点位数而定,适用于对精度要求不高但准确度要求非常高的场合 decimal(10,2)
补充说明字符串(文本)类型 字符串(文本)类型说明:类型 说明 例子
char 支持固定长度的字符串, 最大长度是 255 个字符 char(100)
varchar 支持可变长度的字符串, 最大长度是 65535 个字符 varchar(1000)
tinytext 支持可变长度的字符串,最大长度是 255 个字符 tinytext
text
blob
支持可变长度的字符串,最大长度是 65535 个字符
text
mediumtext
mediumblob
支持可变长度的字符串,最大长度是 16777215 个字符
mediumtext
longtext
longblob
支持可变长度的字符串,最大长度是 4294967295 个字符
longtext
enum 枚举类型,可存储最多65535 个成员,常用于取值是有限而且固定的场合 enmu("男","女")
set 集合类型,可存储最多64个成员 set("value1","value2", ...)
补充说明char 和 varcha 需要指定长度,不同的是,char 存储时总是按照指定的长度储存,而 varchar 则根据实际字符串长度再加上一个字节分配空间。
时间日期类型 时间日期类型说明:类型 说明 例子
date YYYY-MM-DD 格式表示的日期值 date
time hh:mm:ss 格式表示的时间值 time
datetime YYYY-MM-DD hh:mm:ss 格式表示的日期和时间值 datetime
timestamp YYYYMMDDhhmmss 格式表示的时间戳值 timestamp
year YYYY 格式表示的年份值 year
提示在 PHP 中,一般情况下对于时间都是按照 UNIX 时间戳以 int 类型存储于表中,再根据实际需要用 PHP 的时间函数进行处理,但不完全都是这样。
参考阅读