VARCHAR(50)是什么意思?,char(10)和VARCHAR(10)主要的区别是什么?,SQL数据类型nchar,char,varchar与nvarchar区别,数据库中char和nchar的区别,分别什么时候用,什么意思,求解释。,char和varchar区别,Java语言中char和varchar有何区别?...
VARCHAR(50)是什么意思?
VARCHAR(50)的“50”指的是50字节(bytes)。 VARCHAR(M)是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。 因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR数据类型更加明智。MySQL4.1以前,VARCHAR数据类型所支持的最大长度255,5.0以上版本支持65535字节长度,utf8编码下最多支持21843个字符(不为空)。
char(10)和VARCHAR(10)主要的区别是什么?
1.
首先明确的是,char的长度是不可变的,而varchar的长度是可变的,
2.
定义一个char[10]和varchar[10],如果存进去的是‘abcd’,那么char所占的长度依然为10,除了字符‘abcd’外,后面跟六个空格,而varchar就立马把长度变为4了,取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的,
3.
char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的。
4.
char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;而varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节,两者的存储数据都非unicode的字符数据。
扩展资料:char是C/C++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中是unsigned,编译器可以实现为带符号的,也可以实现为不带符号的,有些编译器如pSOS的编译器,还可以通过编译开关来指定它是有符号数还是无符号数。
参考资料:varchar百度百科
SQL数据类型nchar,char,varchar与nvarchar区别
nchar与char是相似的,nvarchar与varchar是相似的。
char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义 char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不够的字符用空格去填。因为是固定长度,所以速度效率高。
Varchar类型:Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"
而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。
由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!
VARCHAR存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。
nchar类型和Nvarchar类型是怎么一回事呢?为了与其他多种字符的转换,如中文,音标等,对每个英文(ASCII)字符都占用2个字节,对一个汉字也占用两个字节,所有的字符都占用2个字节。
关于长度与汉字
varchar(100)/char(100)能存50个汉字,nvarchar(100)/nchar(100)能存100个汉字。
数据库中char和nchar的区别,分别什么时候用,什么意思,求解释。
1、字节不同 char类型是一个字节char(8)只能存8字母; nchar类型是双字节nchar(8)能存8个汉字; 2、占据空间不同 CHAR、CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10); 那么不论存储的数据是否达到了10个字节,都要占去10个字节的空间; 3、使用条件不同 如果数据量非常大,又能100%确定长度且保存只是ansi字符,那么char;能确定长度又不一定是ansi字符或者,那么用nchar; 对于超大数据,如文章内容,使用nText;其他的通用nvarchar。
char和varchar区别
1、字符类型长度不同 char类型的长度是固定的,varchar的长度是可变的。 比如:使用char(10),表示存储的字符将占10个字节(包括7个空字符);使用varchar2(10),则表示只占3个字节,10是最大值,当存储的字符小于10时,按照实际的长度存储。 2、效率不同 char类型的效率比varchar的效率稍高。 3、空间占用不同 varchar2比char节省空间,但是在效率上比char稍差些。既要获得效率即必须牺牲一点空间,这就是设计上的"以空间换时间"。 扩展资料: char类型占1字节,就是8位,所能存储的正整数是 0111 1111,即127。如果将 int 型的整数i= 128 赋予ch,会产生溢出。 因128是 int 型,占 4 字节,二进制代码为 0000 0000 0000 0000 0000 0000 1000 0000.。若将它赋给一个只有8位的char 类型变量,只能将低8位的1000 0000 放进去,其他的都会被删掉。 整数在计算机中都是以补码的形式存储的,此时1000 0000 在计算机的眼里,是一个补码,最左边是 1 表示负数,补码1000 0000 所对应的十进制是 -128,所以最后输出的就是 -128。因此溢出会使得最大正整数变成最小负整数。 参考资料来源:百度百科-char 百度百科-varchar
Java语言中char和varchar有何区别?
1、最大长度
char最大长度是255字符,varchar最大长度是65535个字节。
2、定长
char是定长的,不足的部分用隐藏空格填充,varchar是不定长的。
3、空间使用
char会浪费空间,varchar会更加节省空间。
4、查找效率
char查找效率会很高,varchar查找效率会更低。
5、尾部空格
char插入时可省略,vaechar插入时不会省略,查找时省略。
下一篇:没有了