首先登上数据库mysql后,选择好数据库,
mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| sakila |
| sys |
| world |
±-------------------+
6 rows in set (0.01 sec)

mysql> use world;
Database changed
执行查看表格命令:
mysql> show tables;
±----------------+
| Tables_in_world |
±----------------+
| city |
| country |
| countrylanguage |
±----------------+
3 rows in set (0.00 sec)

mysql> create table Student(Sid varchar(6), Sname varchar(10), Sage datetime, Ssex varchar(10));
Query OK, 0 rows affected (0.03 sec)
执行插入数据命令:

mysql> insert into Student values(‘01’ , ‘赵雷’ , ‘1990-01-01’ , ‘男’);、结果报错如下所示:
ERROR 1366 (HY000): Incorrect string value: ‘\xD5\xD4\xC0\xD7’ for column ‘Sname’ at row 1
执行staus命令:
mysql> status;
--------------(该命令也可以看到mysql的安装目录)
C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql.exe Ver 14.14 Distrib 5.7.22, for Win64 (x86_64)

Connection id: 3
Current database: world
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.7.22-log MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: latin1
Db characterset: latin1
Client characterset: gbk
Conn. characterset: gbk
TCP port: 3306
Uptime: 7 hours 53 min 39 sec

Threads: 1 Questions: 26 Slow queries: 0 Opens: 109 Flush tables: 1 Open tables: 102 Queries per second avg: 0.000

-数据库world中的字符集是
Db characterset: latin1
不支持中文
查看表引擎:
mysql> show create table student;
±--------±-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
±--------±-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| student | CREATE TABLE student (
Sid varchar(6) DEFAULT NULL,
Sname varchar(10) DEFAULT NULL,
Sage datetime DEFAULT NULL,
Ssex varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
±--------±-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
可以看到默认的字符集市
DEFAULT CHARSET=latin1
首先修改表的字符集,

mysql> alter table student character set utf8;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
然后再次查看表引擎:

mysql> show create table student;
±--------±--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
±--------±--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| student | CREATE TABLE student (
Sid varchar(6) CHARACTER SET latin1 DEFAULT NULL,
Sname varchar(10) CHARACTER SET latin1 DEFAULT NULL,
Sage datetime DEFAULT NULL,
Ssex varchar(10) CHARACTER SET latin1 DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
±--------±--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
发现字段的字符格式还没有改过来:
依次执行如下语句
mysql> alter table student modify sid varchar(6) character set utf8;
Query OK, 0 rows affected (0.05 sec)
Records: 0 Duplicates: 0 Warnings: 0
其他字段只需修改字段名称即可,最后改完后
mysql> insert into Student values(‘01’ , ‘赵雷’ , ‘1990-01-01’ , ‘男’);
Query OK, 1 row affected (0.01 sec)

mysql> insert into Student values(‘02’ , ‘钱电’ , ‘1990-12-21’ , ‘男’);
Query OK, 1 row affected (0.01 sec)

mysql> insert into Student values(‘03’ , ‘孙风’ , ‘1990-05-20’ , ‘男’);
Query OK, 1 row affected (0.00 sec)

mysql> insert into Student values(‘04’ , ‘李云’ , ‘1990-08-06’ , ‘男’);
Query OK, 1 row affected (0.00 sec)

mysql> insert into Student values(‘05’ , ‘周梅’ , ‘1991-12-01’ , ‘女’);
Query OK, 1 row affected (0.00 sec)

mysql> insert into Student values(‘06’ , ‘吴兰’ , ‘1992-03-01’ , ‘女’);
Query OK, 1 row affected (0.00 sec)

mysql> insert into Student values(‘07’ , ‘郑竹’ , ‘1989-07-01’ , ‘女’);
Query OK, 1 row affected (0.00 sec)

mysql> insert into Student values(‘08’ , ‘王菊’ , ‘1990-01-20’ , ‘女’);
Query OK, 1 row affected (0.00 sec)

mysql> select *from student;
±-----±------±--------------------±-----+
| sid | sname | Sage | ssex |
±-----±------±--------------------±-----+
| 01 | 赵雷 | 1990-01-01 00:00:00 | 男 |
| 02 | 钱电 | 1990-12-21 00:00:00 | 男 |
| 03 | 孙风 | 1990-05-20 00:00:00 | 男 |
| 04 | 李云 | 1990-08-06 00:00:00 | 男 |
| 05 | 周梅 | 1991-12-01 00:00:00 | 女 |
| 06 | 吴兰 | 1992-03-01 00:00:00 | 女 |
| 07 | 郑竹 | 1989-07-01 00:00:00 | 女 |
| 08 | 王菊 | 1990-01-20 00:00:00 | 女 |
±-----±------±--------------------±-----+
8 rows in set (0.01 sec),执行插入数据命令,更新完成。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐