整型
MySQL数据类型 | 含义(有符号) | 用途 |
---|---|---|
tinyint(m) | 1个字节 范围(-128~127) | 小整数值 |
smallint(m) | 2个字节 范围(-32768~32767) | 大整数值 |
mediumint(m) | 3个字节 范围(-8388608~8388607) | 大整数值 |
int(m) | 4个字节 范围(-2147483648~2147483647) | 大整数值 |
bigint(m) | 8个字节 范围(+-9.22*10的18次方) | 极大整数值 |
取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~256)。 int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度
浮点型
MySQL数据类型 | 含义 |
---|---|
float(m,d) | 单精度浮点型 8位精度(4字节) m总个数,d小数位 |
double(m,d) | 双精度浮点型 16位精度(8字节) m总个数,d小数位 |
M参数称为精度,是数据的总长度,小数点不占位置。D参数成为标度,是指小数点后面的长度是D。
举个例子:float(6,2)的含义数据是float型,数据长度是6,小数点后保留2位。所以,1234.56是符合要求的。
定点数
浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。
MySQL数据类型 | 含义 |
---|---|
decimal(m, d) | M为总数,D为小数,M必须大于D 大浮点数,30位小数 |
字符串
MySQL数据类型 | 含义 | 用途 |
---|---|---|
char(n) | 固定长度,最多255个字符 | 定长字符串 |
varchar(n) | 可变长度,最多65535个字符 | 变长字符串 |
tinytext | 可变长度,最多255个字符 | 短文本字符串 |
text | 可变长度,最多65535个字符 | 长文本数据 |
mediumtext | 可变长度,最多2的24次方-1个字符 | 中等长度文本数据 |
longtext | 可变长度,最多2的32次方-1个字符 | 极大文本数据 |
char和varchar:
-
CHAR的长度是不可变的
定义一个CHAR[10],不管存入几个字符都会占10个字节。比如存进去的是‘ABCD’, 那么CHAR所占的长度依然为10,除了字符‘ABCD’外,后面的全部用空格补齐。查询时通过trim()去掉多余的空格,而VARCHAR类型是不需要的。
-
VARCHAR的长度是可变的。
定义一个VARCHAR[10],存进去的是‘ABCD’, 那么CHAR所占的长度只是4。
-
CHAR的存取速度要比VARCHAR快得多,因为其长度固定,方便程序的存储与查找;但是CHAR为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可以说是以空间换取时间效率,而VARCHAR则是以空间效率为首位的。
varchar和text:
-
varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。
-
text类型不能有默认值。
-
varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。
二进制数据
MySQL数据类型 | 含义 | 用途 |
---|---|---|
tinyblob | 最多255个字符 | 二进制字符串 |
blob | 最多65535个字符 | 二进制形式的长文本数据 |
mediumblob | 最多16777215个字符 | 二进制形式的中等长度文本数据 |
longbolob | 最多4294967295个字符 | 二进制形式的极大文本数据 |
blob类型 blob类型是一种特殊的二进制类型。blob可以用来保存数据量很大的二进制数据,如图片等。blob类型包括tinyblob,blob,mediumblob,longblob。这几种blob类型最大的区别就是能够保存的最大长度不同。longblob的长度最大,tinyblob的长度最小。blob类型与text类型很类似,不同点在于blob类型用于存储二进制数据,blob类型数据是根据其二进制编码进行比较和排序的,而text类型是文本模式进行比较和排序的。
blob类型主要==用来存储图片,PDF文档==等二进制文件,通常情况下,可以将图片,PDF文档都可以==存储在文件系统中==,然后==在数据库中存储这些文件的路径==,这种方式存储比直接存储在数据库中简单,但是访问速度比存储在数据库中慢。
日期时间类型
MySQL数据类型 | 含义 |
---|---|
date | 日期 ‘2008-12-2’ |
time | 时间 ’12:25:36′ |
datetime | 日期时间 ‘2008-12-2 22:06:44’ |
timestamp | 自动存储记录修改时间 |
若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114925.html