MYSQL

作者: 李景磊 | 来源:发表于2017-08-22 17:43 被阅读0次
    下面分享一下char和varchar的区别:
    1:char
          是固定长度,不管你存储的数据是多少他都会都固定的长度。
    2:varchar
          可变长度
    varchar则处可变长度但他要在总长度上加1字符,这个用来存储位置。所以实际应用中用户可以根据自己的数据类型来做
    
    由于某种原因char 固定长度,所以在处理速度上要比varchar快速很多,但是对费存储空间,所以对存储不大,但在速度上有要求的可以使用char类型,反之可以用varchar类型来实例。 
    
    非空CHAR的最大总长度是255【字节】;非空VARCHAR的最大总长度是65533【字节】。
    
    可空CHAR的最大总长度是254【字节】;可空VARCHAR的最大总长度是65532【字节】。
    
    原因:非空标记需要占据一个字节,VARCHAR超过255需要用2个字节标记字段长度,不超过255用1个字节标记字段长度.
    
    注意上边是 【字节】,不是【字符】。但mysql5字段定义时,是定义的【字符】数。比如varchar(10),你仅能存入10个英文字母或者汉字,尽管一个字符可能占多个字节。
    
    一个字符可能占用多个字节,这由编码和存放的字符决定。比如UTF8(一种变长的unicode编码)中,一般一个汉字占据3个字节,一个英文字母占据一个字节
    

    MySQL的数据类型分为四大类:数值类型、字串类型、日期类型、NULL。

    1 数值类型:
        *tinyint(1字节)
        smallint(2字节)
        mediumint(3字节)
        *int(4字节)
        bigint(8字节)
        *float(4字节)   float(6,2)
        *double(8字节)  
        decimal(自定义)字串形数值
        
     2 字串类型
        普通字串
        *char  定长字串      char(8)  
        *varchar 可变字串 varchar(8)
        
        二进制类型
        tinyblob
        blob
        mediumblob
        longblob
        
        文本类型
        tinytext
        *text      常用于<textarea></textarea>
        mediumtext
        longtext
        
        *enum枚举
        set集合
        
    3 时间和日期类型:
        date  年月日
        time  时分秒
        datatime 年月日时分秒
        timestamp 时间戳
        year 年
    
    4 NULL值
        NULL意味着“没有值”或“未知值”
        可以测试某个值是否为NULL
        不能对NULL值进行算术计算
        对NULL值进行算术运算,其结果还是NULL
        0或NULL都意味着假,其余值都意味着真
    

    相关文章

      网友评论

          本文标题:MYSQL

          本文链接:https://www.haomeiwen.com/subject/jjmldxtx.html