mysql常见数据类型:

一、二进制:bit(m)

  mysql支持1-64位的二进制数,bit默认1位,使用bit(m)通过m限制取值范围

    

       

二、数字

  (一)整数:tinyint(m)、int(m)、bigint(m)

  1、取范围不同,tinyint仅支持(-128-127)或(0-255),

  2、m不限制取值范围,仅用于控制数值显示时的位数,

    

  (二)小数:decimal、float、double

  1、decimal,是精确的数值,在内部以字符串形式存储,

  2、decimal,默认是10位数的整数,不含小数,需要通过(m,d)设置

    其中,m表示数值总位数,不含标点和符号,d表示小数点后的位数,m需要对于d,

    m最大取值:65,d最大取值:30,

     

三、字符串

  1、char(n),定长字符串,n表示该串固定长度,n的最大值是255,

  2、varchar(n),边长字符串,n表示该串的最大长度,n的最大值也是255,

    注意:char 搜索速度快,varchar更省空间,

      

  3、text(n),变长较大字符串,n表示该串最大允许长度,n的最大值是65535,

    mediumtext(n): A TEXT column with a maximum length of 16,777,215 (2**24 − 1) characters

    longtext(n): A TEXT column with a maximum length of 4,294,967,295 or 4GB (2**32 − 1) characters.

  4、枚举:enum(值1,值2,值3,……)

    枚举:只能在所给列表中选择值,且只可以一次选一个,不常用,

    

  5、集合:set(值1,值2,值3,……)

    集合:只能在所给列表中选择值,但一次可以选择多个,注意赋值时语法,

    

  说明:除上述几种字符串类型之外,mysql 还有一些其他的,如blob(支持以字符串形式保存二进制,可应用在如图片存储中,虽然不常用)等,

 四、时间

  1、datetime:范围大,不自动添加

  2、timestamp:范围小,但自动添加当前时间,

  3、具体还有:year、time、date类型,

    

五、布尔值

   mysql本身不含布尔值,通常使用tinyint(1)来伪造一个:0表示假、1及其他值表示真,