MySQL--数据类型

 整型

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,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。

 

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值