MySQL如何选择数据类型
2019独角兽企业重金招聘Python工程师标准>>>
在MySQL中创建表 时,需要考虑为字段选择那种数据类型是最合适的。只有选择了合适的数据类型,才能
提高数据库的效率。 ———————————————————————————————————————————————
1.整数类型和浮点数类型
整数类型和浮点数类型最大的区别在于能否表达小数。整数类型不能表达小数,而浮点数类型可以表示小数。不同的整数类型的取值范围不同。TINYINT类型的取值范围为0~255。如果字段的最大值不超过255,那选择TINYINT类型就足够了。BIGINT类型的取值范围最大。最常用的整数类型是INT类型。
浮点数类型包括FLOAT类型和DOUBLE类型。DOUBLE类型的精度比FLOAT类型高。如果需要精确到小数点后10位以上,就应该选择DOUBLE类型,而不应该选择FLOAT类型。 ———————————————————————————————————————————————
2.浮点数类型和定点数类型
对于浮点数和定点数,当插入值的精度高于实际 定义的精度时,系统会自动进行四舍五入处理。其目的是为了使该值的精度达到要求。浮点数进行四舍五入时系统不会报警。定点数会出现警告。
在未指定精度的情况下,浮点数和定点数有其默认的精度。FLOAT型和DOULBE型默认会保存实际精度。这个精度与操作系统和硬件的精度有关。DECIMAL型默认整数位为10,小数位为0,即默认为整数。
在 MySQL中,定点数精度比浮点数 要高。 而且,浮点数会出现误差。如果要对数据的精度要求比较高,应该选择定点数。
———————————————————————————————————————————————
3.CHAR类型和VARCHAR类型
CHAR类型的长度是固定的,而VARCHAR类型的长度是在范围内可变的。因此,VARCHAR类型占用的空间比CHAR类型小,而且,VARCHAR类型比CHAR类型灵活。对于长度变化比较大的字符串类型,最好是选择VARCHAR类型。
虽然CHAR类型占用的空间比较大,但是CHAR类型的处理速度比VARCHAR的快。因此,对于长度变化不大和查询速度要求较高的字符串类型。最好选择CHAR类型。
———————————————————————————————————————————————
4.时间和日期类型
YEAR类型只表示年份。如果 只需要记录年份,选择YEAR类型可以节约空间。TIME类型只表示时间。如果只需要记录时间,选择TIME类型是最合适的。DATE类型只表示日期。如果只需要记录日期,选择DATE类型是最合适的。
如果需要记录日期和时间,可以选择DATETIME类型和TIMESTAMP类型。DATETIME类型表示的时间范围比TIMESTAMP类型大。因此,若需要的时间范围比较大,选择DATETIME类型比较合适。TIMESTAMP类型的时间是根据时区来显示的。如果需要显示的时间与时区对应。那就应该选择TIMESTAMP类型。
———————————————————————————————————————————————
5. ENUM类型和SET类型
ENUM类型最多可以有65535个成员,而SET类型最多只能包含64个成员。两者的取值只能在成员列表中选取。ENUM类型只能从成员中选择一个,而SET类型可以选择多个。
因此,对于多个值中选取一个的,可以选择ENUM类型。例如,"性别"字段可以定义为ENUM类型。因为只有在"男"和"女"中选其中一个。对于 可以选取多个值的字段,可以选择SET类型。例如,"爱好"字段可以选择SET类型,因为可能有多种爱好。
———————————————————————————————————————————————
6. TEXT类型和BLOB类型
TEXT类型与BLOB类型很类似。TEXT类型存储只能存储字符数据。而BLOB类型可以用于存储二进制数据。 如果需要存储文章等纯文本的数据,应该选择TEXT类型。如果需要存储图片等二进制的数据,应该选择BLOB类型。
TEXT类型包括TINYTEXT,TEXT,MEDUIUMTEXT和LONGTEXT。这四者最大的不同是内容给的长度不同。TINYTEXT类型允许的长度最小, LONGTEXT类型允许的长度最大。BLOB类型也是如此。
———————————————————————————————————————————————
学习资料:
《mysql入门很简单》
http://blog.csdn.net/shaobingj126/article/details/7930270
转载于:https://my.oschina.net/lvhuizhenblog/blog/743429
MySQL如何选择数据类型相关推荐
- mysql课程id数据类型_数据库学习之六:mysql数据类型
六.mysql数据类型 1.课程大纲 • 数据类型介绍 • 数据类型设置 • 列属性 • 数据类型的字符集用法 • 选择适当的数据类型 2.数据类型介绍 • 四种主要类别: 数值类型 字符类型 时间类 ...
- MySQL 请选择合适的列!
思维导图 点击图片,可查看大图. 介绍 情况:如果你的表结构设计不良或你的索引设计不佳,那么请你优化你的表结构设计和给予合适的索引,这样你的查询性能就能提高几个数量级.--数据越大,索引的价值越能体现 ...
- MySQL 基础————常用数据类型
引言 从第一次学习mysql开始,不知道为什么MySQL的数据类型始终没有像Java 一样深入脑海,对某些数据类型的定义和用法,也并不清晰,这篇文章,就好好总结一番,将MySQL中几个常用的数据类型归 ...
- mysql查询修改数据类型_MySQL增删改查及数据类型
1.配置文件的使用 配置文件需要放在 安装目录的根目录,bin同一级 文件名称:my.ini 内容和使用 cfg格式 即 section+option [mysqld] 分区服务器端配置 修改后需要重 ...
- r如何查询mysql中的数据类型_MySQL-mysql中的数据类型
mysql中的数据类型 数值类型 严格数值数据类型(INTEGER.SMALLINT.DECIMAL和NUMERIC), 关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词. ...
- MySQL 支持的数据类型
1.数值类型 MySQL 支持所有标准 SQL 中的数值类型,其中包括严格数值类型(integer.smallint.decimal.numeric),以及近似数值数据类型(float.real.do ...
- Mysql笔记之 数据类型
Mysql笔记之 数据类型 1.整型类型: 类型名称 存储需求 TINYINT 1个字节 SMALLINT 2个字节 MEDIUMINT 3个字节 INT(INTEGER) 4个字节 BIGINT 8 ...
- MySQL数据结构选择的合理性
MySQL数据结构选择的合理性 从MySQL的角度讲,不得不考虑一个现实的问题的就是磁盘IO.如果我们能够让索引的数据结构尽量减少磁盘I/O操作,所消耗的时间也就越小.可以说,磁盘的I/O操作次数对索 ...
- 腾讯云 mysql 数据库名_腾讯云数据库MySQL如何选择配置
MySQL实例配置最佳实践概述 该部分主要从[MySQL RDS 套餐选择](#MySQL RDS 套餐选择最佳实践)和MySQL数据库参数设置两个方面来为用户提供一些套餐选择和参数配置建议,帮助用户 ...
最新文章
- Attention is all your need 谷歌的超强特征提取网络——Transformer
- 端云一体人工智能开发平台整体架构
- Connect模块解析 转载
- shell实例第20讲:linux shell date的用法
- iOS 不要用文本编辑pod file
- Qt 关于定时器实用的总结
- 【搜索引擎Jediael开发笔记1】搜索引擎初步介绍及网络爬虫
- python 图片识别_python识别图片文字
- 目前市场上的电脑一体机从计算机种类,电脑一体机发展方向是什么?
- 腾讯阿里都在用!机器学习最热研究方向入门,附学习路线图
- Geatpy框架使用基于NSGA-II算法的多染色体多目标进化算法案例(moea_psy_NSGA2_templet)
- pychar创建一个flask项目
- 单向链表反转-JS实现
- 【图像分割】基于matlab关键像素点FLICM图像分割【含Matlab源码 406期】
- openfire-好友管理实现好友添加及分组管理
- GraphEmbedding - Node2vec 图文详解
- 关于2020年中国统计年鉴(教育部分)的数据采集
- 打印九行菱形php,c语言打印菱形
- 闪讯利用openwrt路由器拨号教程(五)
- 2016年全国高中数学联合竞赛试题及详细解答