[SQL] Char和varChar的区别

5人阅读 评论(0) 收藏 举报
分类:

1.存储规则

char(10),varchar(10),10指的是字符个数而不是字节个数。

编码格式:

Mysql中要求行定义的长度不能超过65535个字节。

Latin1:一个字符占一个字节。最多存放(65535-1-2)/1=65532个字符

GBK:一个字符占两个字节。。。。。。

UTF8:一个字符占三个字节。。。。。。

{-1是指varchar从第二个字节开始存放。

    -2是指varchar的前两个字节用来存放varchar的长度。}

2.varchar和char的区别

①定长和变长

char的长度是固定的,char(10)代表指定字段的长度为10个字符,若实际存放不满足10个字符,则在右边加空格填充。char适合存储长度差不多的数据。

varchar的长度是可变的,需要开头使用1(字符串长度小于2^8)到2个字节(2^16)来存储数据的长度。varchar(10)代表可以存放的数据的最大长度为10个字符,最大为65535-1-2=65532个字节。

②存储容量不同

char最大能存放255个字符,和编码无关。

varchar最大能存放65532个字节,字符数和编码格式相关。

3.最大长度限制

实际应用中varchar长度限制的是一个行定义的长度

查看评论

SQL中char、varchar、text区别

1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。 2、VARCHAR。存储变...
  • u013205877
  • u013205877
  • 2015-08-23 13:11:37
  • 1493

SQL Server中char、varchar、nvarchar的区别

charchar是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符。nvarchar(n) ...
  • Bestsheng1996
  • Bestsheng1996
  • 2015-05-30 22:07:59
  • 403

【mysql】mysql中char、varchar和sqlserver中char、varchar、nvarchar的比较

首先需要说明的是mysql中只有char和varchar,并没有nvarchar这种类型。但是sqlsrver中char、varchar和nvarchar都是存在的。 先来说说char,char不管...
  • sun337939896
  • sun337939896
  • 2018-01-18 09:41:42
  • 383

SQL中char和varchar的效率分析

  写这文章之前先查了点资料,刚好找到一个关于char和varchar性能测试,如下##########################################################...
  • Anckly
  • Anckly
  • 2006-07-26 02:08:00
  • 9307

char、varchar和nvarchar的区别

前言       设计数据库的时候,遇到了字段的类型用char,varchar和nvarchar的问题。下面小编就来讲解一下。 是什么        char是定长的,也就是无论你输入的字符多长,它...
  • u013037201
  • u013037201
  • 2016-04-23 23:45:01
  • 4432

mysql中char和varchar区别

char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是: char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(...
  • a544879146
  • a544879146
  • 2016-04-22 16:18:57
  • 871

SQL中char、nchar、varchar、nvarchar、text、ntext的区别

工作了三年多,第一次跑来写博客,以前工作中遇到的问题,都没有整理过,从今天起,无论是在学习中还是在工作中,都希望能够通过博客记录一下自己的笔记以及体会。 作为开发人员,要做数据库设计,是避免...
  • johncheung1990
  • johncheung1990
  • 2017-01-04 09:26:20
  • 870

char/varchar/nvarchar的区别及其各自的使用场景

char char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符。varchar(n...
  • w516162189
  • w516162189
  • 2017-12-27 16:52:32
  • 585

SQL Server中char、varchar、text和nchar、nvarchar、ntext的区别

很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大...
  • jackychu
  • jackychu
  • 2009-05-14 14:01:00
  • 4211

char、varchar、nchar、nvarchar四种类型的区别

  • 2011年12月14日 20:30
  • 284KB
  • 下载
    个人资料
    持之以恒
    等级:
    访问量: 468
    积分: 307
    排名: 25万+
    文章存档
    最新评论