数据库学习(八)-数据类型

在看W3School教程-create table一节时,因为创建一张表时需要指定各个字段的数据类型,而我又对MySQL中的字段数据类型不甚了解,所以先学习一下数据类型的内容吧!

幸好W3School中也有一篇专门介绍数据类型的教程

Text类型

数据类型 描述
char(size) 保存固定长度的字符串,在括号中指定字符串的长度,最多255个字符
varchar(size) 保存可变长度的字符串,在括号中指定字符串的最大长度,最多255个字符
tinytext 存放最大长度为255个字符的字符串
text 存放最大长度为65535个字符的字符串
blob 用于blobs(Binary Large Objects)。存放最多65535字节的数据
mediumtext 存放最大长度为16,777,215个字符的字符串
mediumblog 用于blobs(Binary Large Objects)。存放最多16,777,215字节的数据
longtext 存放最大长度为4,294,967,295个字符的字符串
longblob 用于blobs(Binary Large Objects)。存放最多4,294,967,295字节的数据
enum(x,y,z,etc.) 允许输入可能值的列表。可以在 ENUM 列表中列出最大 65535 个值。如果列表中不存在插入的值,则插入空值。
set 与 ENUM 类似,SET 最多只能包含 64 个列表项,不过 SET 可存储一个以上的值

Number类型

数据类型 描述
tinyint(size) -128到127。0到255无符号。在括号中规定最大位数
smallint(size) -32768到32767。0到65535无符号。在括号中规定最大位数
mediumint(size) -8388608到8388607。0到16777215无符号。在括号中规定最大位数
int(size) -2147483648到2147483647。0到4294967295无符号。在括号中规定最大位数
bigint(size) -9223372036854775808到9223372036854775807。0到18446744073709551615无符号。在括号中规定最大位数
float(size, d) 带有浮动小数点的小数字。在括号中规定最大位数。在d参数中规定小数点右侧的最大位数
double(size, d) 带有浮动小数点的大数字。在括号中规定最大位数。在d参数中规定小数点右侧的最大位数
decimal(zize, d) 作为字符串存储的double类型,允许固定的小数点

Date类型

数据类型 描述
date() 日期。格式:YYYY-MM-DD
datetime() 日期和时间的组合。格式:YYYY-MM-DD HHMMSS
timestamp() 时间戳。格式:YYYY-MM-DD HH:MM:SS
time() 时间。格式:HH:MM:SS
year() 2位或4位格式的年

注意:尽管datetime和timestamp返回相同的格式,它们的工作方式不同。在insert或update操作中,timestamp会自动把自身设置为当前时间,并且timestamp支持的范围是:’1970-01-01 00:00:01’ UTC 到 ‘2038-01-09 03:14:07’ UTC。