首页 > 代码库 > 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基础知识:数据类型