MySQL的数据类型 及注意事项
MySQL的数据类型
注意
选择合适的数据类型,能节省储存空间,提升计算性能。
(1)在符合应用要求(取值范围、精度)的前提下,尽量使用“短”数据类型
(2)数据类型越简单越好。
(3)在MySQL中,应该用内置的日期和时间数据类型,而不是用字符串来存储日期和时间。
(4)尽量采用精确小数类型(例如decimal),而不采用浮点数类型。
(5)尽量避免NULL字段,建议将字段指定为NOT NULL约束。

- 数值类型
整数类型
| 类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
| TINYINT | 1 字节 | (-128,127) | (0,255) | 小整数值 |
| SMALLINT | 2 字节 | (-32 768,32 767) | (0,65 535) | 大整数值 |
| MEDIUMINT | 3 字节 | (-8 388 608,8 388 607) | (0,16 777 215) | 大整数值 |
| INT或INTEGER | 4 字节 | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 大整数值 |
| BIGINT | 8 字节 |
(-9223372036854775808,9223372036854775 807) |
(0,18 446 744 073 |
极大整数值 |
小数类型
| 类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
| FLOAT | 4 字节 |
-3.402 823 466 E+38 |
0和1.175 494 351 E-38 |
单精度 |
| DOUBLE | 8 字节 |
-1.797 693 134 862 315 7 E+308 |
0和2.225 073 858 507 201 4 E- |
双精度 |
| DECIMAL |
DECIMAL |
length决定小数的最大位数 |
length决定小数的最大位数 |
小数值 |
备注:decimal(length, precision)用于表示精度确定(小数点后数字的位数确定)的小数类型,length决定该小数的最大位数,precision用于设置精度(小数点后数字的位数)。
例如:decimal (5,2)表示小数取值范围:-999.99~999.99 decimal (5,0)表示: -99999~99999的整数。
字符串类型
| 类型 | 大小 | 用途 |
| CHAR(n) | 0-255字节 | 定长字符串 |
| VARCHAR(n) | 0-65535 字节 | 变长字符串 |
| TINYTEXT | 0-255字节 | 短文本字符串 |
| TEXT | 0-65 535字节 | 长文本数据 |
| MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 |
| LONGTEXT | 0-4 294 967 295字节 | 极大文本数据 |
日期/时间类型
| 类型 |
大小(字节) |
范围 | 格式 | 用途 |
| 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’ |
YYYY-MM-DD HH:MM:SS |
混合日期和时间值 |
| TIMESTAMP | 4 |
‘1970-01-01 00:00:00’~’2038’ |
YYYY-MM-DD HH:MM:SS |
混合日期和时间值, |
复合类型
| 类型 | 最大值 | 说 明 | 示例 |
| Enum (“value1”, “value2”, …) | 65535 |
该类型的列只可以容纳所列值之一或为NULL |
Gender enum('男','女) |
| Set (“value1”, “value2”, …) | 64 |
该类型的列可以容纳一组值或为NULL |
Interest set('唱歌','游泳','网球’) |
二进制类型
| 类型 | 大小 | 用途 |
| Binary(n) | 0-255字节 | 较短的二进制 |
| VARBinary(n) | 0-65535 字节 | 较长的二进制 |
| Bit(n) | 0-64字节 | 短二进制 |
| TINYBLOB | 0-255字节 | 较短的二进制 |
| TINYBLOB | 0-255字节 | 较短的二进制 |
| BLOB | 0-65 535字节 | 图片、声音等文件 |
| MEDIUMBLOB | 0-16 777 215字节 | 图片、声音、视频等文件 |
| LONGBLOB | 0-4 294 967 295字节 | 图片、声音、视频等文件 |
MySQL的数据类型 及注意事项的更多相关文章
- mysql 创建表时注意事项
mysql 创建表时注意事项 mysql 想必大家都不会陌生吧 是我学习中第一个接触的的数据库 已学习就很快上手的 这是一个关系型数据库 不懂什么是关系型数据库 啊哈哈哈 现在知道啦 因 ...
- MySQL数据库使用时注意事项
MySQL数据库使用时注意事项 建表的角度上 1.合理安排表关系 2.尽量把固定长度的字段放在前面 3.尽量使用char 代替varchar 4.分表:水平分和垂直分 在使用sql语句的时候 1.尽量 ...
- mysql索引设计的注意事项
mysql索引设计的注意事项 目录 一.索引的重要性 二.执行计划上的重要关注点 (1).全表扫描,检索行数 (2).key,using index(覆盖索引) (3).通过key_len确定究竟使用 ...
- 【MySQL】数据类型之数字相关
" 目录 #. 数值类型 1. 数值范围验证 /. 有符号 /. 无符号 2. int类型显示长度验证 #. 浮点型 1. 验证 /. 建表 /. 精度 #. 日期类型 1. 验证 /. y ...
- mysql索引设计的注意事项(大量示例,收藏再看)
mysql索引设计的注意事项(大量示例,收藏再看) 目录 一.索引的重要性 二.执行计划上的重要关注点 (1).全表扫描,检索行数 (2).key,using index(覆盖索引) (3).通过ke ...
- MySQL数据库3 - MySQL常用数据类型
一. MySql常用数据类型 数据类型:整数(tinyint smailint int bigint) 定点数 decimal(p,s) ------ 小数点位置固定的 ---> 数 ...
- Mysql常用数据类型
Mysql常用数据类型 数字: 字符串: 时间:
- MySQL日期数据类型、时间类型使用总结
MySQL日期数据类型.时间类型使用总结 MySQL日期数据类型.MySQL时间类型使用总结,需要的朋友可以参考下. MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 ...
- MySQL日期数据类型、MySQL时间类型使用总结
MySQL:MySQL日期数据类型.MySQL时间类型使用总结 MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围 ------------ --- ...
随机推荐
- Android中如何使用对话框(单选对话框和多选对话框)
在主XML中声明两个Button,声明Id package com.example.myapplication; import androidx.appcompat.app.AlertDialog; ...
- java实现第六届蓝桥杯五星填数
五星填数 如[图1.png]的五星图案节点填上数字:1~12,除去7和11. 要求每条直线上数字和相等. 如图就是恰当的填法. 请你利用计算机搜索所有可能的填法有多少种. 注意:旋转或镜像后相同的算同 ...
- 浅谈js原型
前言 突发奇想,想写一篇原型的文章,也可能是因为对原型有更深的理解吧,在这里做个记录,来记录下自己的理解加深下记忆. 总之,希望本文的内容能够对您的学习或者工作有所帮助.另,如果有任何的错误或者不足请 ...
- CUDA优化
cuda程序优化 一:程序优化概述 1:精度 在关键步骤使用双精度,其他步骤使用单精度,以获得指令吞吐量和精度的平衡. 2:延迟 先缓冲一定量数据,在交给GPU计算.可以获得较高的数据吞吐量. 3:计 ...
- iOS-AutoLayout中动画使用的细节 和 iOS layout机制
在Main.storyboard拖入一个UIView,随便设置一个背景色, 使用autolayout 为紫色的view添加约束 :(0,0,100,100) , 为该view添加动画代码如下: #i ...
- 【个人博客 hexo】一个小时就搭好属于自己的博客
对于经常需要发博客的小伙伴来说,拥有一个属于自己的博客网站,听起来是不是很酷. 今天我就来告诉大家,怎么搭建一个属于自己的博客网站,我们需要的就是使用hexo+github来搭建我们自己博客系统. 你 ...
- HashMap(三)之源码分析
通过分析HashMap来学习源码,那么通过此过程我们要带着这几个问题去一起探索 为什么要学习源码 怎么去学习 0.1 为什么要学习源码 这个问题,直接给出结论,学习源码肯定是有好处的,比如: 学习优秀 ...
- 【微信H5】 Redirect_uri参数错误解决方法
1 https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx14127af0bc9fd367&redirect_uri=http ...
- Cron表达式,springboot定时任务
详细请看这篇博客 参考:https://blog.csdn.net/belonghuang157405/article/details/83410197 Cron表达式是一个字符串,字符串以5或6个空 ...
- 关于mybatis使用小于号大于号出错的解决方案
原文链接:https://blog.csdn.net/weixin_38061311/article/details/99943807 mybatis 使用的xml的映射文件, 所以里面的标签都是在& ...