使用MySQL 时,创建了一个名为student的数据库,在其中建了个名为StudentInfo的表,包括以下字段:学号,姓名,年龄,性别,电话,家庭住址。其中的各个字段名称均用汉字表示。期间有两个问题需要注意,都与汉字表示有关。
(1)字段的声明方式
各个字段的定义方式如下:
<学号 int(4)>、<姓名 nvarchar(20)>、<年龄 int(4)>、<性别 nvarchar(10)>、<电话 varchar(20)>、<家庭住址 nvarchar(50)>
MySQL终端的情形如下:
表中各个字段的情形如下:
注意:此处的中文支持,必须要求MySQL以GBK或者GB2312作为字符集
具体方法如下:
1、在安装MySQL时,选择相应的字符集
2、如果安装时未做出选择,可以通过修改MySQL的配置文件来达到目的。
将my.ini中的“default-character-set=Latin1 ”修改为“default-character-set=GB2312";重新启动服务即可。
(2)在表中插入数据
在刚才建好的表中插入数据
SQL语句:“insert into StudentInfo values(100,"李明",20,"男","19980400012","北京市石景山");”
终端中运行效果如下:
注意:此处的操作,也要基于上一条中字符集的改变。另外,要插入中文记录的字段要设置为nvarchar或varchar类型。
经过以上的设置,中文支持问题得到了解决。
现在对varchar和nvarchar的了解,只限于一下几点:
1、varchar(10)中的10指的是10个英文字符,而nvarchar(10)中的10指的是10个中文字符,也就是可以存储10个汉字。
2、nvarchar比较浪费存储空间。
以上是自己的总结,有不足之处,请大家多多指教。