MySQL的数据类型 .
一、MySQL的数据类型
主要包括以下五大类:
整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT
浮点数类型:FLOAT、DOUBLE、DECIMAL
字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB
日期类型:Date、DateTime、TimeStamp、Time、Year
其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等
二、MYSQL数据类型的长度和范围
各数据类型及字节长度一览表:
数据类型 |
字节长度 |
范围或用法 |
Bit |
1 |
无符号[0,255],有符号[-128,127],天缘博客备注:BIT和BOOL布尔型都占用1字节 |
TinyInt |
1 |
整数[0,255] |
SmallInt |
2 |
无符号[0,65535],有符号[-32768,32767] |
MediumInt |
3 |
无符号[0,2^24-1],有符号[-2^23,2^23-1]] |
Int |
4 |
无符号[0,2^32-1],有符号[-2^31,2^31-1] |
BigInt |
8 |
无符号[0,2^64-1],有符号[-2^63 ,2^63 -1] |
Float(M,D) |
4 |
单精度浮点数。天缘博客提醒这里的D是精度,如果D<=24则为默认的FLOAT,如果D>24则会自动被转换为DOUBLE型。 |
Double(M,D) |
8 |
双精度浮点。 |
Decimal(M,D) |
M+1或M+2 |
未打包的浮点数,用法类似于FLOAT和DOUBLE,天缘博客提醒您如果在ASP中使用到Decimal数据类型,直接从数据库读出来的Decimal可能需要先转换成Float或Double类型后再进行运算。 |
Date |
3 |
以YYYY-MM-DD的格式显示,比如:2009-07-19 |
Date Time |
8 |
以YYYY-MM-DD HH:MM:SS的格式显示,比如:2009-07-19 11:22:30 |
TimeStamp |
4 |
以YYYY-MM-DD的格式显示,比如:2009-07-19 |
Time |
3 |
以HH:MM:SS的格式显示。比如:11:22:30 |
Year |
1 |
以YYYY的格式显示。比如:2009 |
Char(M) |
M |
定长字符串。 |
VarChar(M) |
M |
变长字符串,要求M<=255 |
Binary(M) |
M |
类似Char的二进制存储,特点是插入定长不足补0 |
VarBinary(M) |
M |
类似VarChar的变长二进制存储,特点是定长不补0 |
Tiny Text |
Max:255 |
大小写不敏感 |
Text |
Max:64K |
大小写不敏感 |
Medium Text |
Max:16M |
大小写不敏感 |
Long Text |
Max:4G |
大小写不敏感 |
TinyBlob |
Max:255 |
大小写敏感 |
Blob |
Max:64K |
大小写敏感 |
MediumBlob |
Max:16M |
大小写敏感 |
LongBlob |
Max:4G |
大小写敏感 |
Enum |
1或2 |
最大可达65535个不同的枚举值 |
Set |
可达8 |
最大可达64个不同的值 |
Geometry |
||
Point |
||
LineString |
||
Polygon |
||
MultiPoint |
||
MultiLineString |
||
MultiPolygon |
||
GeometryCollection |
三、使用建议
1、在指定数据类型的时候一般是采用从小原则,比如能用TINY INT的最好就不用INT,能用FLOAT类型的就不用DOUBLE类型,这样会对MYSQL在运行效率上提高很大,尤其是大数据量测试条件下。
2、不需要把数据表设计的太过复杂,功能模块上区分或许对于后期的维护更为方便,慎重出现大杂烩数据表
3、数据表和字段的起名字也是一门学问
4、设计数据表结构之前请先想象一下是你的房间,或许结果会更加合理、高效
5、数据库的最后设计结果一定是效率和可扩展性的折中,偏向任何一方都是欠妥的
MySQL的数据类型 .相关推荐
- 再谈MySQL JSON数据类型
2019独角兽企业重金招聘Python工程师标准>>> 本文首发微信公众号<andyqian>.期待你的关注- 前言 眨眼间,有一小段时间没有更新文章了.唉,又懒了... ...
- MySQL 字段数据类型/长度
分类: 数据库学习2010-09-27 16:30 105人阅读 评论(0) 收藏 举报 一.MySQL 字段数据类型/长度 1.数值类型 列类型 需要的存储量 TINYIN ...
- MySQL日期数据类型、时间类型使用总结
转载链接:http://www.jb51.net/article/23966.htm MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围 ----- ...
- mysql 变量 数据类型_浅谈mysql(二)数据类型
//我...我才是不是傲娇呢 //如有问题还请多多指教.上回我们说到我们如何使用MySQL,关键是要看它的用途.用途衍生语句.之后文章的思路,也是如此,从用途出发,然后再到语句. 那么,我们先问几个问 ...
- 2Python全栈之路系列之MysQl基本数据类型
Python全栈之路系列之MySQL基本数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类: 数字类型 日期和时间类型 字符串类型 数字类 ...
- mysql中数据类型的长度
一.varchar(n).char(n)中的n的含义 1)varchar(m),char(n)里面的m或n代表的是字符的个数. 打开mysql手册,看到这样一句话 The CHAR and VARCH ...
- MySQL常用数据类型
MySQL常用数据类型 1.整数类型.浮点数类型.定点类型 (1)整数类型(默认的是有符号的) 整数类型 字节数 无符号(unsigned)范围 有符号(signed)范围 tinyint 1 0-2 ...
- mysql空间数据类型解释_MySQL空间数据类型
MySQL空间数据类型讲解 MySQL具有与OpenGIS类对应的数据类型.某些类型只能保存单个几何值: GEOMETRY POINT LINESTRING POLYGON GEOMETRY能够保存任 ...
- MySQL不同数据类型如何表示_MySQL系列(二)--数据类型
如何选择优化的数据类型: 当一个列有多种数据类型可以选择,选择顺序:数字类型.日期/二进制类型.字符类型,相同级别的数据类型,优先选择占用空间小的类型 1.通常更小的更好 相同级别的数据类型,选择占据 ...
- MySQL之数据类型、建表和六大约束
前言:昨天跟大家分享了MySQL的账号管理.建库及四大引擎,今天与大家分享的知识是MySQL之数据类型.建表和六大约束. 一.数据类型介绍 1.作用:MySQL中定义数据字段的类型对你数据库的优化是非 ...
最新文章
- Google发布神经天气模型,几秒钟预测整个美国的降水量
- 华为这台「技术暴力输出机」,亮出「云原生2.0」,研发效率飙升10倍!
- mybatis配置文件解析错误解决方法
- 接口监控_java应用监控之利用cat接口性能优化,每一次都是血的教训
- Android 中文字体的设置方法和使用技巧
- Java Web文件上传原理分析(不借助开源fileupload上传jar包)
- “易图购”数码商城App设计与实现
- word无法打开请去应用商店_免费PDF转Word技巧
- 图像识别--利用百度API免费调用
- 64位电脑如何安装32位系统
- linux 进程 ksoftirqd/n 占用cpu 100%
- 2022年地图产业研究报告
- 简述计算机桌面背景更换的流程,苹果电脑桌面壁纸怎么更换【详细步骤】
- 普罗米修斯?对!就是 Prometheus ,如何计算 P90 / P99 ? 准确评控服务耗时性能!
- 如何用python实现题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
- Power Designer:正向构建数据库数据库逆向工程SQL生成数据库报表
- 已解BL锁的华为手机救砖以及root
- 计算机操作员培训方案,计算机操作员培训计划.doc
- 直流电压源+双向DCDC变换器+负载+锂离子电池+控制系统
- 求园的周长、面积、直径