MySQL数据类型

本文概要介绍MySQL的数据类型:

MySQL数据类型分为三大类:
  • 数字类型:
整数:tinyint, smallint, mediumint, int, bigint
浮点数:float, double, real
定点数:decimal
字符串类型:
字符串:char, varchar
文本:tinytet, text, mediumtext, longtext
二进制:tinyblob, blob, mediumblob, longblob
日期和时间:
date, time, datetime, timestamp, year

1. 数字类型
1) 整数

数据类型长度(字符数)范围(有符号)范围(无符号)
tinyint(m)1-128~1270~255
smallint(m)2-32768~327670~65535
mediumint(m)3-8388608~83886070~16777215
int(m)4-2147483648~21474836470~4294967295
bigint(m)8+-9.22*10的18次方0~9.22*10的18次方-1

int(m)中的m表示select查询结果集中显示的列宽,不影响字段存储的长度和范围。
2) 浮点数

数据类型长度(字符数)说明
float(m,d)4单精度浮点型,8位精度
double(m,d)8双精度浮点型,16位精度

3) 定点数
与浮点数不同,浮点数保存的是近似值,定点数保存的是精确值。
decimal(m,d),m表示数字总个数,d表示小数位数。

2. 字符串
1) 字符

数据类型长度(字符数)说明
char(n)固定长度n,n<=255
varchar(n)可变长度n,n<=65535
tinytext可变长度,最长255
text可变长度,最长65535
mediumtext可变长度,最长2^24-1
longtext可变长度,最长2^32-1

char与varchar区别:
char定长,速度快,可能存在空间浪费;varchar变长,速度满,不存在空间浪费,实际存储长度为数据长度+1;

3) 二进制

数据类型长度(字符数)说明
tinyblobL+1,L< 2^8
blobL+2,L< 2^16
mediumblobL+3,L< 2^24
longblobL+4,L< 2^32

blob与text区别:
blob数据只能整体读出,text可以指定字符集,blob按二进制存储不用指定字符集。

3. 日期时间类型

数据类型长度(字符数)日期格式日期范围
year1YYYY1901 ~ 2155
date3YYYY-MM-DD1000-01-01 ~ 9999-12-31
time3HH:MM:SS-838:59:59 ~ 838:59:59
datetime8YYYY-MM-DD HH:MM:SS1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
timestamp4YYYY-MM-DD HH:MM:SS1970-01-01 00:00:01 ~ 2038

timestamp随着记录insert、update时自动更新。

4. 数据类型属性

关键字说明
NULL数据列可以为NULL
NOT NULL数据列不可为NULL
DEFAULT默认值
PRIMARY KEY主键
AUTO_INCREMENT自动递增
UNSIGNED无符号行,用于修饰整型
DEFAULT默认值
CHARACTER SET name指定字符集,如UTF8,gb2312
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值