数据类型的功用:

    1.存储的值类型

    2.占据的存储空间大小

    3.定长,变长

    4.如何被索引及排序

    5.是否能够被索引

          


数据类型:

   1.字符型

   2.数值型

      精确数值型

        整型

        十进制数据:decimal

      近似数值型

        单精度浮点型

        双精度浮点型

   3.日期时间型

       日期型

       时间型

       日期时间型

       时间戳

       year

   4.布尔型

         0

         1

   5.内建类型

       enum(枚举)

       set(集合)



数值型:

  TINYINT

     SMALLINT

     MEDIUMINT

     INT

     BIGINT

     DECIMAL

     FLOAT

     DOUBAL

     BIT


字符型:

     CHAR 255个字符

     VARCHAR 65535个字符 (慷慨是不明智)

     TINYTEXT 255个字符 (按对象方式存储)

     TEXT 65535个字符 (实际65533 需要两个字节的结束符)

     MENDIUMTEXT 

     LONGTEXT 


     BINARY

     VARBINARY

     TINYBLOB

     BLOB

     MENDIUMBLOB

     LONGBLOB


日期时间型

     DATE

     TIME

     DATETIME

     TIMESTAMP

     YEAR


布尔型

     0

     1


内建类型

     enum(枚举)

     set(集合)



字符型(char、varchar和text)常用的属性修饰符:

   NOT NULL:非空约束

   NULL:允许为空

   default 'string':默认值,不适用于text类型

   CHARACTER SET 字符集

       show variables like '%char%' 查看默认的字符集

       show character set 查看数据库支持的字符集



binary,varbinaray和blob字符常用的属性修饰符

     NOT NULL

     NULL

     default 不适用与blob



×××的常用属性修饰符

   AUTO_INCREMENT:自动增长

       前提:非空,且唯一,支持索引、非负值  主键一定为非空

   LAST_INSERT_ID():可以查看上次增长的数值(未必精确),当插入多行时,只记录第一行(批量插入的副作用)

       mysql > select last_insert_id();

   UNSIGNED:无符号

   NULL

   NOT NULL

   DEFAULT


浮点型常用修饰符:(float double)

     NULL

     NOT NULL

     UNSIGNSD

     DEFAULT

     可以使用g,f来定义总共有多少数字和小数点后有多少数字


日期时间型常用的修饰符

     NULL

     NOT NULL

     DEFAULT



ENUM和SET的修饰符

NULL

     NOT NULL

     DEFAULT '' (字符串一定要使用引号)