MySql教程

mysql的varchar测试

本文主要是介绍mysql的varchar测试,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

转自:https://blog.csdn.net/w576233728/article/details/97624532

1.varchar定义数目和汉字数一样

mysql> create table test_varchar (id int,bytes varchar(2));    --建表
Query OK, 0 rows affected (0.01 sec)

mysql> insert into test_varchar (id,bytes) values (1,'汉字');
Query OK, 1 row affected (0.00 sec)    --成功插入两个汉字

mysql> insert into test_varchar (id,bytes) values (1,'ab');
Query OK, 1 row affected (0.00 sec)    --成功插入两个英文字符

--尝试插入三个英文字符,有个warning
mysql> insert into test_varchar (id,bytes) values (1,'abc');
Query OK, 1 row affected, 1 warning (0.00 sec)    

--查看表,可以发现超出长度的被截断了
mysql> select * from test_varchar;
+------+--------+
| id   | bytes  |
+------+--------+
|    1 | 汉字   |
|    1 | ab     |
|    1 | ab     |
+------+--------+

--插入超出数目的汉字
mysql> insert into test_varchar (id,bytes) values (1,'汉字测试');
Query OK, 1 row affected, 1 warning (0.00 sec)

--同样也会被截断
mysql> select * from test_varchar;
+------+--------+
| id   | bytes  |
+------+--------+
|    1 | 汉字   |
|    1 | ab     |
|    1 | ab     |
|    1 | 汉字   |
+------+--------+

--使用不同id插入,仍然被截断,说明不是id的影响
mysql> select * from test_varchar;
+------+--------+
| id   | bytes  |
+------+--------+
|    1 | 汉字   |
|    1 | ab     |
|    1 | ab     |
|    1 | 汉字   |
|    2 | 汉字   |
+------+--------+

总结,mysql中,char(n)和varchar(n)中n代表的是字符数,不论是中文还是英文,一个字符就是一个英文字母或一个汉字

这篇关于mysql的varchar测试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!