首页 > 代码库 > Mysql基础知识:数据类型
Mysql基础知识:数据类型
Mysql基础数据类型
1. 整数类型
2. 浮点数类型和定点数类型
DECIMAL型的取值范围与DOUBLE相同,但是DECIMAL的有效范围由M、D决定。而且DECIMAL的字节数为M+2,即定点数的存储空间是根据其精度决定的。
M:精度,是数据的总长度,小数点不占位置;
D:标度,小数点后的长度
eg:FLOAT(6,2):数据长度为6,小数点后保留2位的FLOAT数据类型。按照该定义,1234.56符合要求。
3. 日期和时间类型
YEAR类型:(使用1个字节表示)
可以用4位字符串或数字表示,也可以用2位字符串或数字表示。
当用二位字符串或数字表示时,1~69表示2001-2069,70~99表示1970~1999。
所以最好用4位字符串或数字表示。
TIME类型:(使用3个字节表示)
可以用两种格式来表示,分别是HH:MM:SS和HHMMSS。
可以用CURRENT_TIME或者NOW()输入当前时间。
DATE类型:(使用4个字节表示)
可以用三种格式来表示,分别是YYYY-MM-DD或YYYYMMDD字符串、YY-MM-DD或YYMMDD字符串、YYYYMMDD或YYMDD数字表示。
可以用CURRENT_DATE或者NOW()输入当前时间。
DATETIME类型:(使用8个字节表示)
可以用三种格式表示,分别是YYYY-MM-DD HH:MM:SS或YYYYMMDDHHMMSS字符串、YY-MM-DD HH:MM:SS或YYMMDDHHMMSS字符串、YYYYMMDDHHMMSS或 YYMMDDHHMMSS数字表示。
使用NOW()输入当前系统日期和时间。
TIMESTAMP类型:(使用4个字节表示)
...
4. 字符串类型
CHAR类型和VARCHAR类型:
CHAR类型的长度是固定的,在创建表的时候就指定了。长度可以是0~255指定任何值。
VARCHAR类型的长度是可变的,创建表时指定最大长度。其实际占用空间为字符串的实际长度+1,这样可以有效节约系统空间。
TEXT类型:
其是一种特殊的字符串类型。TEXT只能保存字符数据,如新闻内容等。
ENUM类型:
ENUM为枚举类型。创建表时,它的取值范围以列表的形式指定。
基本形式为:属性名 ENUM(‘值1‘,‘值2‘,...)
SET类型:
创建表时,它的取值范围以列表的形式指定。
基本形式为:属性名 SET(‘值1‘,‘值2‘,...)
5. 二进制类型
BINARY和VARBINARY类型:
字符串类型(M)
都是在创建表时指定最大长度。
BINARY类型的长度是固定的,VARBINARY类型的长度是可变的。后者实际占用空间为实际长度+1,可有效节约资源。
BIT类型:
BIT(M)
在查询BIT类型数据时,可以用BIT(字段名+0)来将值转换为二进制显示。
BLOB类型:
是一种特殊的二进制类型。
可以用来保存数据量很大的二进制数据,如图片等。
包括TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB。
BLOB类型与TEXT类型类似。但是BLOB类型用来存储二进制数据,其是根据其二进制编码进行比较和排序的。而TEXT类型是文本模式进行比较和排序的。
注意:
一般情况下,数据库中不直接存图片和音频文件,而是存储图片和音频文件的路径。如果实在需要的话可以选择BLOB类型。
本文资源和图片来源:《MySQL入门很简单》
Mysql基础知识:数据类型