Mysql中的数据类型

Posted lilacmemo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql中的数据类型相关的知识,希望对你有一定的参考价值。

mysql支持多种数据类型,主要有数值类型,日期/时间类型和字符串类型。

数值类型:

   TINYINT:存储很小的整数,占用一个字节;

        SMALLINT:存储小的整数,占用二个字节;

        MEDIUMINT:存储中等大小的整数,占用三个字节;

        INT:存储普通大小的整数,占用四个字节;

        BIGINT:大整数,占用八个字节;

        注:INT(11)表示的是该数据类型指定的显示宽度,显示宽度与数据类型的取值范围是无关的,数值的位数小于指定宽度时会由空格填充,如果插入大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值已然可以插入,而且可以正常的显示。

        FLOAT:单精度浮点类型,占四个字节;

        DOUBLE:双精度浮点类型,占八个字节;

        DECIMAL:定点数类型,浮点数和定点数都可以用(M,N)来表示,其中M表示精度,表示总共的位数,N表示标度,表示小数的位置,占(M+2)个字节,DECIMAl类型不同于FLOAT与DOUBLE,它实际以串存放,其最大取值范围与DOUBLE一样,但其有效的取值单位由M和D决定;

  FLOAT和DOUBLE在不指定精度时,默认会按照实际的精度(由计算机硬件和操作系统决定),DECIMAL如果不指定精度,默认为(10,0);

日期与时间类型:

  YEAR(YYYY)  TIME(HH:MM:SS) DATE(YYYY-MM-DD)

  DATETIME(YYYY-MM-DD HH:MM:SS)    YIMESTAMP(YYYY-MM-DD HH:MM:SS);

文本字符串类型:

  CHAR  VARCHAR TINYTEXT TEXT MEDIUMTEXT  LONGTEXT ENUM SET

  ENUM是一个字符串对象,其值为表创建时某列规定的一系列值,Mysql中它的索引序号从1开始,在对枚举类型的列中插入值可以插入原始值也可以插入索引序号,当插入不在索引列表或者超范围的索引值时会报错,例:

  create table tmp(

    score int,

    level enum(‘excellent‘ , ‘good‘, ‘bad‘)

  )

  SET是一个字符串对象,可以由零个或多个值,最多可以有64个成员,其值为表创建时规定的一系列值,ENUM类型的的字段只能从定义的列值中选择一个插入,而SET可以从定义的列值中选择多个字符的联合,SET有序不能重复。

二进制字符串类型:

  BIT BINARY VARBINARY TINYBLOB BLOB MEDIUMBLOB LONGBLOB

  

  









以上是关于Mysql中的数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Mysql中的数据类型

( 4 )MySQL中的数据类型(字符串类型)

Sql Server中的数据类型和Mysql中的数据类型的对应关系(转)

MySQL 中的数据类型介绍

mysql中的数据类型

mysql中的数据类型