mysql中的varchar(n)可以存储几个汉字
varchar存储字段大小
我从网上搜到的是和mysql的版本有关:
4.0版本以下:varchar(n),指的是n个字节,如果存放UTF8汉字时,只能存n/3个(每个汉字3字节)。
5.0版本以上:varchar(n),指的是n个字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放n个。
我的mysql版本是8.0版本的,应该是可以存储n个汉字,以下是我做的能否存储的测试,以varchar(10)为例
测试
- cmd命令下打开mysql
net start mysql
,登录mysqlmysql -uroot -p
,输入密码。 - 选择数据库
use database;
,可以使用show databases;
查看都有哪些数据库。 - 创建表格,其中设置varchar类型的变量
create table var(name varchar(10));
- 表格中添加记录
insert into var values(' ');
添加不同长度的值就可以进行测试了,以下是我的结果,varchar(10)确实可以存储10个汉字
问题
我很长时间没有在命令提示符中使用mysql了,之前用的是navicat,以下是我在使用cmd遇到的问题
- 启动时mysql报错:发生系统错误5,拒绝访问。解决方法,找到cmd.exe文件,右键,以管理员身份运行
- 登录时报错:mysql不是内部或外部命令。这个是因为没有配置环境变量,解决方法:配置环境变量即可,将mysql的bin目录路径添加到系统变量path中。
- sql语句的问题:我在使用数据库时在数据库名前加了database,结果报错unknown database,还有诸如此类的很多问题,sql的语法要求很严格,一定要保证sql语句的正确.