首页 > SQL学习 > MYSQL > MYSQL中的数据类型
2017
04-17

MYSQL中的数据类型

Text 类型:

数据类型 描述
CHAR(size) 保存固定长度的字符串(可包含字母、数字以及特殊字符,汉字也算一个字符)。最多 255 个字符。
VARCHAR(size) 保存可变长度的字符串。最多255个字符。如果值的长度大于 255,则被转换为 TEXT 类型。
TINYTEXT 存放最大长度为 255 个字符的字符串。
TEXT 存放最大长度为 65,535 个字符的字符串。
MEDIUMTEXT 存放最大长度为 16,777,215 个字符的字符串。
LONGTEXT 存放最大长度为 4,294,967,295 个字符的字符串。
ENUM(x,y,z,...) 枚举类型,允许您输入可能值的列表。可以在 ENUM 列表中列出最大 65535 个值。如果列表中不存在插入的值,则插入空值。对1~255个成员的枚举需要1个字节存储;对于255~65535个成员,需要2个字节存储。enum类型里存储数据忽略大小写
SET(x,y,z,...) 集合类型,与 ENUM 类似,不同的是,SET 最多只能包含 64 个列表项且 SET 可存储一个以上的选择。

1~8成员占1个字节  9~16成员占2个字节

17~24成员占3个字节  25~32成员占4个字节

33~64成员占8个字节

find_in_set函数对set类型的数据进行查询select * from 表1 where find_in_set(‘值1’,字段1)

Number 类型:

数据类型 描述
TINYINT -128 到 127 常规。0 到 255 无符号。在括号中规定最大位数。
SMALLINT -32768 到 32767 常规。0 到 65535 无符号。在括号中规定最大位数。
MEDIUMINT -8388608 到 8388607 普通。0 到 16777215 无符号。在括号中规定最大位数。
INT -2147483648 到 2147483647 常规。0 到 4294967295 无符号。在括号中规定最大位数。
BIGINT -9223372036854775808 到 9223372036854775807 常规。0 到 18446744073709551615 无符号*。在括号中规定最大位数。
FLOAT 单精度的浮点数精确到大约7位小数位(整数部分加上小数部分的位数)
DOUBLE 双精度的浮点数精确到大约15位小数位(整数部分加上小数部分的位数)
DECIMAL 作为字符串存储的 DOUBLE 类型,比较精准。

整数类型可以添加unsigned限制:指定该整数类型为无符号,如INT UNSIGNED

整数类型可以在后面添加指定宽度,如INT(5),显示的位数固定为5位,不够用0填充,多余5位从右截取。

整数类型可以添加auto_increment限制:自增(默认从1开始),每次自增为该字段中最大数字加1,在以后插入数据时不许要指定该字段名,该字段名自增(也可以指定)。

所有小数类型的数据在定义表的时候在类型后天添加(M,D)表示该数值整数部分加小数部分一共最多M个数,小数点后最多D个数,decimal不指定的情况下默认(10,0)。

Date 类型:

数据类型 描述
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'
TIMESTAMP 时间戳。Unix 纪元('1970-01-01 00:00:00' UTC) 至今的秒数。
TIME 时间,字节占用3。格式:HH:MM:SS,支持的范围是从 '-838:59:59' 到 '838:59:59'
YEAR 2 位或 4 位格式的年,字节占用1。4 位格式所允许的值:1901 到 2155。2 位格式所允许的值:70 到 69,表示从 1970 到 2069。

 

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。