MYSQL

下面分享一下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都意味着假,其余值都意味着真
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,067评论 0 19
  • MySQL技术内幕:SQL编程 姜承尧 第1章 SQL编程 >> B是由MySQL创始人之一Monty分支的一个版...
    沉默剑士阅读 2,519评论 0 3
  • 1.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。My...
    黄花菜已凉阅读 4,607评论 3 60
  • 自己坐在一张黄色健身器材的椅子上,晒着太阳,春风吹在脸上,十分惬意。接近正午,太阳直射身上,能感受丝丝温暖,虽然天...
    杨梅泡酒阅读 225评论 0 0
  • 第一部分 在线广告市场与背景 第一章 互联网广告:在线媒体上投放的广告。 1.2广告的定义与目的 广告:由...
    Emily娜阅读 1,333评论 2 5