MySQL支持的数据类型

php中文网
发布: 2016-06-07 17:33:50
原创
1082人浏览过

MySQL中包括严格数据类型(INTEGER,SAMLLINT,DECIMAL,NUMERIC),以及近似数据类型(FLOAT,REAL,DOUBLE),扩展后增加了TINYINT,

数值类型

MySQL中包括严格数据类型(INTEGER,SAMLLINT,DECIMAL,NUMERIC),以及近似数据类型(FLOAT,REAL,DOUBLE),扩展后增加了TINYINT,MEDIUMINT和BIGINT这三种长度不同的整形,并增加了BIT类型,用来存放位数据。

在整数类型中,按照取值范围和存储方式不同,可以分为tinyint,smallint,mediumint,int和bigint这5个类型。对于整形数据,MySQL支持在类型名称后面的小括号内指定显示宽度,例如int(5)表示当数值宽度小于5位的时候在数字前面填满宽度,如果不显示指定宽度则默认为int(11)。
zerofill是用‘0’填充的意思,在数字位数不够的空间用字符‘0’填满。

浮点数存在误差问题;对货币等对精度敏感的数据,应该用定点数表示或存储;在编程中,如果用到浮点数,要特别注意误差问题,并尽量避免做浮点数比较;要注意浮点数中一些特殊值的处理。

日期时间类型

Mysql中有多种数据类型可以用于日期和时间的表示。
这些数据类型的主要区别如下:
(1)如果要用来表示年月日,通常用DATE来表示;
(2)如果要用来表示年月日时分秒,通常用DATETIME表示;
(3)如果只用来表示时分秒,通常用TIME来表示;
(4)如果需要进场插入或者更新日期为当前系统时间,则通常使用TIMESTAMP来表示。
(5)如果只是年份,可以使用YEAR来表示。

不同日期类型零值的表示如下所示:
数据类型 零值表示
DATETIME 0000-00-00 00:00:00
TIME 00:00:00
DATE  0000-00-00
TIMESTAMP 00000000000000
YEAR 0000

字符串类型

CHAR和VARCHAR很类似,都用来保存MySQL中较短的字符串。二者的主要区别在于存储方式的不同:CHAR列的长度固定为创建表时声明的长度,长度可以是从0~255的任意值,,而VARCHAR列中的值为可变长字符串,长度可以指定为0~255之间的值。在检索的时候,CHAR删除了尾部的空格,而VARCHAR则保留了这些空格。
由于CHAR是固定长度的,所以它的处理速度比VARCHAR快得多,但是它的缺点是浪费存储空间,程序需要对行尾空格进行处理,所以对于那些长度变化不大并且对查询速度有较高要求的数据可以考虑使用CHAR类型。

AI封面生成器
AI封面生成器

专业的AI封面生成工具,支持小红书、公众号、小说、红包、视频封面等多种类型,一键生成高质量封面图片。

AI封面生成器 108
查看详情 AI封面生成器

如果需要保存大文本时,一般使用TEXT或者BLOB,二者之间的区别主要是BLOB能用来保存二进制数据,比如照片,而TEXT只能保存字符数据,比如一篇文章或者日记。
大文本查询可以使用合成索引。合成索引是根据大文本字段的内容建立一个散列值,并把这个值存储在单独的数据列中,接下来就可以通过检索散列值找到数据行了。对含有TEXT和BLOB字段的表,如果经常做删除和修改记录的操作要定时执行OPTIMIZE TABLE功能对表进行碎片整理。

BINARY和VAEBINARY类似于CHAR和VAECHAR,不同的是它们包含了二进制字符串。当保存BINARY值时,在值的最后通过填充“0x00”以达到指定的字段定义长度。

ENUM是枚举类型,它的值范围需要在创建表时通过枚举方式显示指定。但是ENUM只允许从值集合中选取单个值,而不能一次取多个值。
SET类型可以从允许值中选取任意1个或者多个元素进行组合。如果集合中包含重复的单元,那么我们将会只取一次。

相关阅读:

MySQL数据类型详述

MySQL数据类型-decimal详解

MySQL datetime数据类型设置当前时间为默认值

分析MySQL数据类型的长度 

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号