mysql中varchar(N)中的N代表什么
来源:互联网 发布:乐天 韩国 日本 知乎 编辑:程序博客网 时间:2024/04/28 23:11
据说是面试题中很经典的一道,在这里做一个实验说明一下。
CREATE TABLE `wzy` (
`ColUTF` varchar(5) CHARACTER SET utf8 DEFAULT NULL,
`ColGBK` varchar(5) CHARACTER SET gbk DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
上面是表结构
insert into wzy values('aaaaa','aaaaa');
insert into wzy values('a','a');
insert into wzy values('我','我');
insert into wzy values('我我我我我','我我我我我');
插入不同类型的数据
select ColUTF,length(ColUTF),ColGBK,length(ColGBK) from wzy
用length()函数获取每个字符串的长度
mysql> select ColUTF,length(ColUTF),ColGBK,length(ColGBK) from wzy;
+------------+----------------+------------+----------------+
| ColUTF | length(ColUTF) | ColGBK | length(ColGBK) |
+------------+----------------+------------+----------------+
| a | 1 | a | 1 |
| aaaaa | 5 | aaaaa | 5 |
| 我 | 3 | 我 | 2 |
| 我我我我我 | 15 | 我我我我我 | 10 |
+------------+----------------+------------+----------------+
4 rows in set
mysql>
可见UTF-8跟GBK在存储英文字符的时候都是只用一个字节,而且在只有英文的情况下最大的长度都是5
但是在存储中文的时候,字符长度则跟编码的类型有关,utf要使用3个字节,gbk则使用2个,最大长度则是5*编码的宽度
所以N代表的应该是字符的个数,只有在单纯的拉丁文环境下字符的个数才等于字段的长度
- mysql中varchar(N)中的N代表什么
- MySQL中的varchar(N)
- mysql的int(%n)代表什么
- mysql与db2中的varchar(n)
- mysql中char与varchar的区别,以及varchar(50)中50代表什么?
- mysql中, varchar(n) n是字符(不区分中文、英文)的个数
- 关于mysql中的int(N)、char(N)和varchar(N)类型的简单说明
- 关于MySQL数据类型定义的几个细节-INT(N)/VARCHAR(N)/DECIMAL(M,N)
- oracle中varchar(N)和varchar(N char)的区别
- 在MySQL中,VARCHAR与CHAR的区别是什么?VARCHAR(50)中的50代表的含义是什么?
- varchar(n)中的n为什么要设的尽量小
- MySQL数据库数据类型(char(n),varchar(n),nchar(n),nvarchar(n)的区别)
- oracle中varchar,varchar2,n…
- VARCHAR(N)类型,utf8编码,则N最大值为多少,n表示什么?
- VARCHAR(N)类型,utf8编码,则N最大值为多少,n表示什么?
- VARCHAR(N)类型,utf8编码,则N最大值为多少,n表示什么? .
- varchar(n)和varchar(max)有什么区别,再是空间和效率上有差别么
- N、XR、XD、DR”各代表什么意思
- 判断[]是否是数组的两个方法
- VIBE君,放过MOTO吧
- maven 工程启动找不到 Spring ContextLoaderListener 的解决办法
- 12球问题/12硬币问题通解,以及引申的决策树/最优三叉树算法
- 一个会闪动的炫酷名片
- mysql中varchar(N)中的N代表什么
- 我的100个愿望
- 分享bitcraze的管理理念--Self organizing
- Poj.2074 Line of Sight【计算几何-线段】 2015/08/28
- Android GridView中设置了Button以后就不能响应OnItemClick()
- 闭包 Closure
- 题目:1385 由前序和中序构建二叉树
- noip2002 字串变换 (双向宽搜,交替扩展)
- Linux启动管理-启动过程/grub配置/Grub加密