char、varchar、varchar2区别
区别:
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc”,对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。
2.CHAR的效率比VARCHAR2的效率稍高。
3. 目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。
https://www.cndba.cn/hbhe0316/article/22201
在MySQL中,并没有VARCHAR2
magic.xiao
mysql char varchar 二三事
mysql char和varchar很类似。
char最大长度为255,存入不够255个字符时,右边补充spaces填充。https://www.cndba.cn/hbhe0316/article/22201
varchar最大长度为65535。
varchar(n)比char(n)多一个或两个字节,用来确定varchar value的长度。当value不超过255个字符,额外的一个字节即可。value超过255个字符时,需要2个字节。
查询效率对比:因为varchar需要根据额外的字节定位value的长度,所以要比char速度慢。https://www.cndba.cn/hbhe0316/article/22201https://www.cndba.cn/hbhe0316/article/22201
char(10)填充’1234567890’时,char(10)占用10个字符而不是10个字节。具体占用字节根据database collation set决定。
varchar(10)和varchar(255)的区别:当只写入一个’a’,查询需要临时表时,varchar(255)将分配255字符。varchar(10)只分配10个字符。https://www.cndba.cn/hbhe0316/article/22201
结论:在插入邮编、电话号码等长度不变的数据时候,使用char(),在插入变化的数据的时候,时候varchar()。
https://www.cndba.cn/hbhe0316/article/22201
版权声明:本文为博主原创文章,未经博主允许不得转载。
MYSQL
char、varchar、varchar2区别相关推荐
- TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT选择 和 char varchar varchar2 的区别
TEXT.TINYTEXT.MEDIUMTEXT.LONGTEXT的区别: 储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 - 1) 个字符. TEXT 最大长度是 655 ...
- oracle中char,varchar,varchar2的区别
1.char长度固定,varchar2长度可变.例如,存储字符串"123",char(10)表示存储的内容占10个字节:123 (包含7个空格),varchar2(20) ...
- oracle中varchar 和 nvarchar2的区别,Oracle中char,varchar,varchar2,nvarchar,nvarchar2的区别
一.概述 1.char char的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以补足二十个字节: char是区分中英文 ...
- Oracle中 char varchar varchar2的区别
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串"abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的 ...
- char varchar nvarchar区别
char char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值.当你输入的字符大于指定的数时,它会截取超出的字符.nvarchar(n) 包 ...
- Oracle char varchar varchar2 nvarchar2 的区别
上面字符类型能保存多少个字符与oracle当前的字符集有关系. select userenv('language') from dual; 假设长度2000字节, 如果字符集是16位编码的,ZHS16 ...
- 在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别
[在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别 ] 1.CHAR(size)和VARCHAR(size)的区别 CHAR为定长的字段,最 ...
- mysql中char与varchar的区别分析(补充一句,int和integer没区别)
转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...
- mysql中char与varchar的区别分析
原文网址:http://www.jb51.net/article/23575.htm mysql中char与varchar的区别分析 作者: 字体:[增加 减小] 类型:转载 在mysql教程中cha ...
最新文章
- numpy逻辑运算符
- AI在茫茫人海中,看到只有你被Deepfake了丨阿里安全出品
- 网站SEO优化技巧的“减法运算”
- Groovy/Spock 测试导论
- 实用技巧:Linux操作系统Vim/Vi编程提速
- flink的DAG可视化使用(visualizer的使用)
- zabbix server搭建
- mysql cnf参数_系统运维|MySQL my.cnf参数配置优化详解
- AttributeError: ‘torch.return_types.max‘ object has no attribute ‘dim‘
- r 选取从小到大的数据_r 选取表格的一列数据库
- windows server 2012 NIC组合---概念
- eclipse建web工程的dynamic web module version 具体是什么意思
- 超美二次元响应式引导页源码
- 怪物的生成 攻击和掉落金币
- 武汉大学无线传感实验床项目招标公告(开标时间2015年1月15日)
- git.exe pull -v --progress “scanpenmodular“fatal: detected dubious ownership in repository at ‘
- 风华贴片电容命名规则
- 第二周python牛客练习题
- 百度统计工具是什么?百度统计工具有什么用呢?
- webrtc jitterbuffer 模块分析