MySQL如何输入中文数据库(mysql下输入中文)
MySQL是目前最流行的关系型数据库管理系统之一,在业界得到了广泛应用。如今,随着国内IT行业不断发展壮大,越来越多的公司和个人开始使用MySQL数据库。然而,对于很多初学者来说,如何在MySQL中输入中文则成为了一个困扰。
我们需要知道MySQL默认的字符集是Latin1,不支持中文字符。为了输入中文数据,需要将字符集更改为utf8或gbk。这里我们选择utf8作为例子。
打开MySQL命令行客户端。在输入密码之后,输入以下命令可以查看当前数据库的字符集:
show variables like '%char%';
执行完命令之后,我们会看到如下结果:
+--------------------------+----------------------------------------------------+
| Variable_name | Value |+--------------------------+----------------------------------------------------+
| character_set_client | utf8 || character_set_connection | utf8 |
| character_set_database | latin1 || character_set_filesystem | binary |
| character_set_results | utf8 || character_set_server | latin1 |
| character_set_system | utf8 || character_sets_dir | /usr/local/mysql-5.7.19-macos10.12-x86_64/share/charsets/ |
+--------------------------+----------------------------------------------------+
我们可以发现,MySQL默认的数据库字符集是latin1。接下来,我们需要将字符集更改为utf8。输入以下命令:
set names utf8;
执行完此命令之后,输入再次查看当前数据库字符集的命令,会发现此时数据库字符集已经改变为了utf8:
+--------------------------+----------------------------------------------------+
| Variable_name | Value |+--------------------------+----------------------------------------------------+
| character_set_client | utf8 || character_set_connection | utf8 |
| character_set_database | utf8 || character_set_filesystem | binary |
| character_set_results | utf8 || character_set_server | latin1 |
| character_set_system | utf8 || character_sets_dir | /usr/local/mysql-5.7.19-macos10.12-x86_64/share/charsets/ |
+--------------------------+----------------------------------------------------+
现在,我们已经将字符集更改为utf8。接下来,我们可以输入中文字符了。当然,在输入中文字符之前,需要在创建表的时候将表的字符集也更改为utf8。
我们可以通过以下代码示例来创建一张表:
CREATE TABLE `employee` (
`id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(30) NOT NULL,
`sex` CHAR(1) NOT NULL, `age` INT(11) NOT NULL,
`department` VARCHAR(30) NOT NULL, PRIMARY KEY (`id`)
) CHARSET=utf8;
在创建表的时候,我们只需要在CHARSET后面加入utf8即可。接下来,我们就可以往employee表中输入中文数据了。
在MySQL命令行客户端中,输入以下语句即可添加中文数据到employee表:
INSERT INTO employee(name,sex,age,department) VALUES('张三','男',26,'技术部');
输入完毕之后,我们通过以下命令检查一下是否成功输入中文数据:
SELECT * FROM employee;
在命令行窗口中,我们可以看到刚才插入的中文数据已经成功显示,如下所示:
+----+--------+-----+-----+-------------+
| id | name | sex | age | department |+----+--------+-----+-----+-------------+
| 1 | 张三 | 男 | 26 | 技术部 |+----+--------+-----+-----+-------------+
我们还需要在网站的代码中设置数据库字符集为utf8,否则就算成功输入了中文数据,该中文数据在网站中也无法正常显示。以PHP为例,可以在连接MySQL时加入以下代码:
$conn = mysqli_connect($hostname,$username,$password,$database);
mysqli_set_charset($conn,"utf8");
综上所述,要在MySQL中输入中文数据并展示出来,需要将数据库字符集更改为utf8,并在创建表的时候将表的字符集也更改为utf8。接下来,可以利用MySQL命令行客户端或网站的代码将中文数据输入到MySQL中。