Mysql基础知识:数据类型
2017-02-12 16:36
323 查看
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入门很简单》
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数据类型及列类型 (2)
- 基础知识:MySQL数据类型及列类型 (1)
- Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
- MySQL+PHP,从最基础的知识开始(mysql数据类型)
- MySql基础知识、存储引擎与常用数据类型
- Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
- Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
- 基础知识:MySQL数据类型及列类型
- 基础知识:MySQL数据类型及列类型
- 基础知识:MySQL数据类型及列类型 (1)
- Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
- MySql基础知识、存储引擎与常用数据类型
- [第三章、Java基础知识]第一节、数据类型
- java基础知识:数据类型,switch语句,分支结构
- JavaScript基础知识之数据类型
- 黑马程序员.Net培训 C#基础知识——数据类型
- Oracle复合数据类型基础知识
- C语言复习——基础知识、数据类型、运算符
- Python基础知识(五)--数据类型
- Java基础小知识——基本数据类型和字符串以及字节数组的转换