博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL数据类型
阅读量:5309 次
发布时间:2019-06-14

本文共 2010 字,大约阅读时间需要 6 分钟。

整型

MySQL数据类型 字节数
tinyint(m) 1个字节
smallint(m) 2个字节
mediumint(m) 3个字节
int(m) 4个字节
bigint(m) 8个字节

Core

  • 取值范围如果加了 unsigned,则最大值翻倍,如 tinyint unsigned 的取值范围为(0~255)。
  • 整形(m) 中的 m 是表示 SELECT 查询结果集中的显示宽度,只有搭配ZEROFILL才会起作用.ZEROFILL默认会使得该类型转变为无符号类型.当设置了显示宽度和ZEROFILL,且插入数字宽度小于m时,数字左端将会补零直至宽度等于m.
  • 如果插入数字超出范围则会插入对应的临界值(最大值或最小值)

示例

CREATE TABLE test(    a INT(3) ZEROFILL,    b BIGINT UNSIGNED);

浮点型FLOAT,DOUBLE和定点型DECIMAL

FLOAT(M,D)#浮点型DOUBLE(M,D)DEC(M,D)#定点型#M=整数位+小数位#D=小数位
MySQL数据类型 长度及含义
float(m,d) 单精度浮点型 8位精度(4字节)
double(m,d) 双精度浮点型 16位精度(8字节)
dec(m,d) 定点型

Core

  • 浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。
  • DEC默认M为10,D为0
  • 不指定M和D浮点型或根据插入数值的精度来决定精度
  • 插入超出范围的数字将会变为临界值

字符串(char,varchar,_text)

MySQL数据类型(n最多字符数) 含义
char(n) 固定长度,最多255个字符
varchar(n) 可变长度,最多65535个字符
tinytext 可变长度,最多255个字符
text 可变长度,最多65535个字符
mediumtext 可变长度,最多2的24次方-1个字符
longtext 可变长度,最多2的32次方-1个字符

char 和 varchar:

  • 1.char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以 char 类型存储的字符串末尾不能有空格,varchar 不限于此。
  • 2.char(n) 固定长度,char(4) 不管是存入几个字符,都将占用 4 个字节,varchar 是存入的实际字符数 +1 个字节(n<=255)或2个字节(n>255),所以 varchar(4),存入 3 个字符将占用 4 个字节。
  • 3.char 类型的字符串检索速度要比 varchar 类型的快。

    varchar 和 text:

  • 1.varchar 可指定 n,text 不能指定,内部存储 varchar 是存入的实际字符数 +1 个字节(n<=255)或 2 个字节(n>255),text 是实际字符数 +2 个字节。
  • 2.text 类型不能有默认值。
  • 3.varchar 可直接创建索引,text 创建索引要指定前多少个字符。varchar 查询速度快于 text, 在都创建索引的情况下,text 的索引似乎不起作用。

二进制数据(_Blob)

  • 1._BLOB和_text存储方式不同,_TEXT以文本方式存储,英文存储区分大小写,而_Blob是以二进制方式存储,不分大小写。
  • 2._BLOB存储的数据只能整体读出。
  • 3._TEXT可以指定字符集,_BLO不用指定字符集。

ENUM,SET

CREATE TABLE test(    a ENUM('a','b','c'),    b SET('a','b','c'));INSERT INTO test VALUES('a','a,c'),('c','b')
  • ENUM只能为1个值而SET可以为多个值

日期时间类型

类型 字节 范围 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4 1970-01-01 00:00:00/2038结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07 YYYYMMDD HHMMSS 混合日期和时间值,时间戳
  • TIMESTAMP可以适应时区的变化

转载于:https://www.cnblogs.com/redo19990701/p/11286704.html

你可能感兴趣的文章
python_flask小项目实例-编一个小网站
查看>>
(树直径) bzoj 1509
查看>>
.net core中Quartz的使用
查看>>
如何使用CCRenderTexture创建动态纹理 Cocos2d-x 2.1.4
查看>>
14.Mysql事务控制和锁定
查看>>
无线局域网
查看>>
Jquery学习之Ajax
查看>>
软工结队作业第二次
查看>>
spring的配置文件详解
查看>>
Spring框架第一篇之Spring的第一个程序
查看>>
操作文件
查看>>
.net core 12
查看>>
SQL-android uri的使用(转载)
查看>>
数字pid笔记(1)
查看>>
一步一步学Linq to sql(六):探究特性
查看>>
[Everyday Mathematics]20150107
查看>>
【原】android启动时白屏或者黑屏的问题
查看>>
[原]unity3d 纹理旋转
查看>>
Automating hybrid apps
查看>>
java虚拟机---内存
查看>>