mysql数据类型

1. 整型

1
2
3
4
5
6
7
8
9
10
11
12
※Tinyint /*迷你整形最大数值0-255 1字节*/
Smallint /*小整形最大数值0-65535 2字节*/
Mediumint /*中整形 3字节*/
※int /*整形 4字节*/
bigint/*大整形 8字节*/

-- 若不想有负数
类型后加 unsigned

-- 若想输出时满足最大长度自动填充
类型后加 Zerofill/*负数不能用若使用zerofill自动取消负数unsigned*/
自定义长度类型后加(数字)/*但不能超出类型范围*/

2.小数和浮点型

1
2
3
4
5
6
7
8
9
-- 小数(浮点型,定点型)
类型(M,D)/*m个有效数字,小数占D位*/

-- 浮点型(可以用科学计数法插入 10e5通常用来存储不需要那么精确的数据)
Float /*4字节 范围10^38只能保证7位数以内*/
Double /*8字节 范围10^308只能保证15位数以内*/

-- 定点数(保证精确的小数,小数部分超出长度会四舍五入)
Decimal(M,D)/*系统会自动分配空间M最大65 D最大不超过30*/

3.时间日期类型

1
2
3
4
5
6
-- 事件日期类型
Date YYYY-mm-dd/*3字节 范围1000-01-01到9999-12-12 初始值为0000-00-00*/
Time HH:li:ss /*3字节 范围-838:59:59~838:59:59 一般用于表示时间间隔 可以这样插入"数字 000:00:00"等于数字(可为负)*24+后面时间*/
Datetime YYYY-mm-dd HH:li:ss /*8字节 范围1000-01-01 00:00:00到9999-12-12 23:59:59*/
Timestamp YYYY-mm-dd HH:li:ss/*从格林威治时间开始*/
Year /*1字节两位数字插入时 69以下为2000+数字70以上为1900+数字四位插入不动*/

4.字符串类型

1
2
3
4
5
6
7
8
9
-- 字符串型
Char(L) /*定长字符,系统一直会分配L大小的空间 L范围0~255*/
Varchar(L) /*变长字符 系统会根据你输入的值来分配空间(前提未超出你设置的长度) L范围理论0~65535*/
Text/*当数据长度超过255个字符使用*/
Tinytext/*一个字节保存 存储数据为2^8+1*/

-- 只使用Text/*一个字节保存 存储数据为2^16+2*/
Mediumtext/*一个字节保存 存储数据为2^24+3*/
Longtext/*一个字节保存 存储数据为2^32+4*/

5.其他类型

1
2
3
4
5
# Enum和Set都是以数字存储
Enum/*确定字段的数据就几个值时使用如性别*/
enum(数据值1,.....)/*单选*/
Set /*集合类型 最大只能放64个选项*//*多选复选框*/
Set(数据值1,.....)