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 ...
随机推荐
- Linux文件系统命令 ln
命令:ln 功能:Linux下文件的链接功能,区别,软链接需要-s选项,硬链接不需要.相同的是,都是同步变化的,不过软链接不需要占用空间,硬链接占用空间 用法:软链接:ln -s 源文件 目标文件 硬 ...
- python基础初识介绍以及安装
python介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承. ...
- shell脚本实例-for实现批量主机的探测
#!/usr/bin/bash >ip.txt for i in {2..254} do { ip=192.168.234.$i ping -c1 -W1 $ip &>/dev/n ...
- VS2010,MFC动态按钮和窗体背景图片,以及是静态文字控件透明,并避免静态文字刷新出现的重叠问题
1.动态按钮的四种动作 1)正常 2)按下 3)滑过 4)失效 在MFC中,4个动作对应着四种位图bmp, 首先,将代表四种状态的位图加载入资源中,将对应的按钮设置为BitmapButton 第二,在 ...
- Maven Speed Up
收录架构 proxy代理仓库 不支持仓库搜索功能 收录版本 所有版本 更新时间 每24小时更新一次 使用说明 一.在maven软件中使用 以Maven 3.5.2为例: 打开maven配置文件 ./a ...
- 【Python】进程-控制块
一.进程控制块 PCB (Process Control Block): 存放进程的管理和控制信息的数据结构称为进程控制块.它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时 ...
- ecmall 主从表的4种模型关系
eccore/model/model.base.php对应关系: 举例:在includes/models goods.model.php 里 因为店铺可以对应多个商品,商品只能对应一个店铺,所以商品B ...
- angular把echarts封装为指令(配合requirejs)
1.在require中配置echartsjs文件 2.在directives下定义指令(定义为全局的指令,任何页面调用都可以) define(['app','echarts'],function(ap ...
- PHP实现二叉树的深度优先遍历(前序、中序、后序)和广度优先遍历(层次)
前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次.要特别注意的是,二叉树的深度优先遍历比较特殊,可以细分为先序遍历.中序遍历.后序遍历.具体说明如下: 前序遍 ...
- 20165228 学习基础和C语言基础调查
========== 做中学读后感 我依然认为兴趣与自觉性是推动一个人进步的两大因素,他们之间的区别是"兴趣"带来的影响更多是主动性的学习,而"自觉"则是略显被 ...