MySQL 的数据类型,有哪些?
table th:first-of-type {
width: 100px;
}
- MySQL数据类型选择指南:https://www.awaimai.com/1146.html
实数:
数据类型 | 多少个字节 | 范围(有符号) | 范围(无符号) | 默认值可设置为 | 是否必须指定 length |
---|---|---|---|---|---|
TINYINT | 1 | (-128,127) | (0,255) | '0' | 可指定 length |
SMALLINT | 2 | (-32 768,32 767) | (0,65 535) | '0' | 可指定 length |
MEDIUMINT | 3 | (-8 388 608,8 388 607) | 0 ~ 16 777 215(1677 万) | '0' | 可指定 length |
INT 或 INTEGER | 4 | (-2 147 483 648,2 147 483 647) | 0 ~ 4 294 967 295(42 亿) | '0' | 可指定 length |
BIGINT | 8 | (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) | 0 ~ 18 446 744 073 709 551 615(1844 亿亿,18446兆(一万亿等于一兆,亿亿就是:十兆;)) | '0' | 可指定 length |
复数:
数据类型 | 多少个字节 | 范围(有符号) | 范围(无符号) | 默认值可设置为 | 是否必须指定 length,decimals |
---|---|---|---|---|---|
FLOAT | 4(MySQL 数据类型(float)的注意事项) | (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) | 0,(1.175 494 351 E-38,3.402 823 466 E+38) | 可指定 | |
DOUBLE | 8 | (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 可指定 | |
DECIMAL | DECIMAL(M总数字个数,D小数个数) ,每4个字节存9个数字,小数点占1个字节; 例如,DECIMAL(18,9)小数点两边各存储9个数字,所以小数点两边各占用4个字节,再加上小数点本身占用1个字节,总共占用9个字节。 |
依赖于M和D的值 | 依赖于M和D的值 | 可指定 | |
REAL | 可指定 | ||||
NUMERIC | 可指定 |
字符串类型(char(n)、varchar(n) 中的n,在新版中是指:字符长度)
数据类型 | 大小 | 默认值可设置为 | 是否必须指定 length |
---|---|---|---|
CHAR | 0-255 字节 | '' | 可指定 length |
VARCHAR | 0-65535 字节 | '' | 必须指定 length |
二进制字符串类型(BINARY 和 VARBINARY 存储的是二进制字符串,与字符集无关;BINARY(n)、VARBINARY(n) 中的n,指的是:字节长度)
数据类型 | 大小 | 默认值可设置为 | 是否必须指定 length |
---|---|---|---|
BINARY | 0-255 字节 | 可指定 length | |
VARBINARY | 0-65535 字节 | 必须指定 length |
TEXT 类型(长文本数据)
数据类型 | 大小 | 默认值可设置为(BLOB 和 TEXT 都不能有默认值) | 是否必须指定 length |
---|---|---|---|
TINYTEXT | 0-255 字节 | 不能有默认值 | 不能指定 length |
TEXT | 0-65535 字节 | 不能有默认值 | 可指定 length |
MEDIUMTEXT | 0-16 777 215字节(1677 万字节) | 不能有默认值 | 不能指定 length |
LONGTEXT | 0-4 294 967 295字节(42 亿字节) | 不能有默认值 | 不能指定 length |
BLOB 类型(二进制形式的长文本数据)
数据类型 | 大小 | 默认值可设置为(BLOB 和 TEXT 都不能有默认值) | 是否必须指定 length |
---|---|---|---|
TINYBLOB | 0-255 字节 | 不能有默认值 | 不能指定 length |
BLOB | 0-65535 字节 | 不能有默认值 | 可指定 length |
MEDIUMBLOB | 0-16 777 215字节(1677 万字节) | 不能有默认值 | 不能指定 length |
LONGBLOB | 0-4 294 967 295字节(42 亿字节) | 不能有默认值 | 不能指定 length |
日期和时间类型
类型 | 大小(字节) | 范围 | 格式 | 默认值可设置为 | 是否必须指定 fsp |
---|---|---|---|---|---|
DATE | 3 | 1000-01-01 ~ 9999-12-31 | YYYY-MM-DD | 不能指定 | |
TIME | 3 | -838:59:59 ~ 838:59:59(此范围原因: https://www.oschina.net/question/195038_183439 , https://dev.mysql.com/doc/refman/8.0/en/time.html , https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_sec-to-time) |
HH:MM:SS | 可指定 | |
YEAR | 1 | 1901 ~ 2155 | YYYY | 不能指定 | |
DATETIME | 8 | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 (DATETIME 存储的是整数,与时区无关) (以'YYYY-MM-DD HH:MM:SS'还是YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的上下文被使用) |
YYYY-MM-DD HH:MM:SS | 可指定 | |
TIMESTAMP | 4 | 1970-01-01 00:00:00 ~ 2038-01-19 结束时间是第 2147483647 秒(此数计算方法:2的31次方减1), 北京时间:2038-1-19 11:14:07, 格林尼治时间:2038年1月19日 凌晨 03:14:07 (TIMESTAMP 存储是UTC时间戳,与时区相关;具体的时分秒,不同的时区有不同的值) (以'YYYY-MM-DD HH:MM:SS'还是YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的上下文被使用) (推荐用 TIMESTAMP:TIMESTAMP 使用 DATETIME 一半的空间;能保存时区;拥有特殊的自动更新能力) |
YYYYMMDD HHMMSS | DEFAULT '0000-00-00 00:00:00' 或 DEFAULT CURRENT_TIMESTAMP 或 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP (说明: CURRENT_TIMESTAMP 等价于:CURRENT_TIMESTAMP(), NOW(), LOCALTIME, LOCALTIME(), LOCALTIMESTAMP, LOCALTIMESTAMP() ) |
可指定 |
BIT 类型
数据类型 | 大小 | 默认值可设置为 | 是否必须指定 length |
---|---|---|---|
BIT | 可指定 length |
ENUM、SET
数据类型 | 大小 | 设置值 |
---|---|---|
ENUM | ENUM(value1,value2,value3,...) |
|
SET | SET(value1,value2,value3,...) |
JSON 类型(从 MySQL 5.7.8 开始支持)
数据类型 | 大小 | 默认值可设置为 | 是否必须指定 length |
---|---|---|---|
JSON | 不能指定 length |
MySQL 的数据类型,有哪些?的更多相关文章
- MySQL数据库3 - MySQL常用数据类型
一. MySql常用数据类型 数据类型:整数(tinyint smailint int bigint) 定点数 decimal(p,s) ------ 小数点位置固定的 ---> 数 ...
- Mysql常用数据类型
Mysql常用数据类型 数字: 字符串: 时间:
- MySQL日期数据类型、时间类型使用总结
MySQL日期数据类型.时间类型使用总结 MySQL日期数据类型.MySQL时间类型使用总结,需要的朋友可以参考下. MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 ...
- MySQL日期数据类型、MySQL时间类型使用总结
MySQL:MySQL日期数据类型.MySQL时间类型使用总结 MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围 ------------ --- ...
- MySQL数据库数据类型之集合类型SET测试总结
MySQL数据库提供针对字符串存储的一种特殊数据类型:集合类型SET,这种数据类型可以给予我们更多提高性能.降低存储容量和降低程序代码理解的技巧,前面介绍了首先介绍了四种数据类型的特性总结,其后又分别 ...
- mysql 的数据类型
mysql 的数据类型(描述的是字段)三大类:一.整型:1.tinyint(M),其中M是显示宽度,需要配合zerofill,就是前面0填充,存储单位为1个字节(8位),无符文是最大能存储范围0000 ...
- MySQL的数据类型(转)
MySQL的数据类型 1.整数 TINYINT: 8 bit 存储空间 SMALLINT: 16 bit 存储空间 MEDIUMINT: 24 bit 存储空间 INT: 32 bit 存储空间 BI ...
- mysql之数据类型
一.概述: 所谓建表,就是声明列的过程: 数据是以文件的形式放在硬盘中(也有放在内存里的) 列:不同的列类型占的空间不一样 选列的原则:够用又不浪费: 二.mysql的数据类型: 整形:Tinyin ...
- MySQL/MariaDB数据类型
1.为什么要定义MySQL数据类型 定义MySQL数据类型其实就是为了对数据进行分类,实现对不同的分类进行不同的处理 1.使系统能够根据数据类型来操作数据. 2.预防数据运算时出错.例如,通过强大的数 ...
- mysql的数据类型和字段属性
本文内容: 数据类型 数值类型 整数型 浮点型 定点型 日期时间类型 字符串类型 补充: 显示宽度与zerofll 记录长度 字段属性 空\不为空值:NULL.NOT NULL 主键:primary ...
随机推荐
- fk的使用细节
在seiman的博客fk2.3的用法笔记一文中,介绍了当震中距很大时,fk在使用时需要加上-f,这一展平变换的选项. 另外,nt*dt为最终数据的总长度,当震中距为远震范围时,such as:40°, ...
- 循环神经网络-Dropout
dropout 是 regularization 方法,在rnn中使用方法不同于cnn 对于rnn的部分不进行dropout,也就是说从t-1时候的状态传递到t时刻进行计算时,这个中间不进行memor ...
- Linux 配置selenium + webdriver 环境
1.ubuntu 自带了python, 可以打开终端输入python 回车后如果显示版本信息就说明已经安装 2.安装安装python setup tools apt-get install pytho ...
- vue 缩水版 双向绑定
function Observer(obj, key, value){ var dep = new Dep(); if (Object.prototype.toString.call(value) = ...
- http 请求头部解析
作者:知乎用户链接:https://www.zhihu.com/question/42696895/answer/109035792来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- 64-65管道,rm与rmdir
听说linux根目录tmp文件夹内是临时文件.用久了会产生很多垃圾文件 请问下面的临时文件怎么维护清理?全部没用删除,还是? /tmp 公用的临时文件存储点 linux下的文件结构 /bin 二进制可 ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - 声明式事务管理
文章目录 1. 声明式事务 2. Spring Boot默认集成事务 3. 实战演练4. 源代码 3.1. 实体对象 3.2. DAO 相关 3.3. Service 相关 3.4. 测试,测试 本文 ...
- 大数据-03-Spark入门
Spark 简介 行业广泛使用Hadoop来分析他们的数据集.原因是Hadoop框架基于一个简单的编程模型(MapReduce).这里,主要关注的是在处理大型数据集时在查询之间的等待时间和运行程序的等 ...
- ELF文件加载与动态链接(二)
GOT应该保存的是puts函数的绝对虚地址,这里为什么保存的却是puts@plt的第二条指令呢? 原来“解释器”将动态库载入内存后,并没有直接将函数地址更新到GOT表中,而是在函数第一次被调用时,才会 ...
- scala quick check
Scala 特性 面向对象特性 函数式编程 Scala也是一种函数式语言,其函数也能当成值来使用.Scala提供了轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化.Sca ...