MySQL 中级教程(一) 数据库、表以及字段编码

在数据库的操作中总是会涉及到字符串的写入,如果我们写的字符都是英文字符,很OK,没有问题。
但如果我们操作数据库的时候要写入一些中文字符串,因为数据库对于中文字符的编码是后来兼容的,而且我们在创建数据库的时候,系统默认给定的编码方式是 latin1,这种编码方式是不兼容中文字符的,写入中文字符以后显示出来的是乱码,而表以及字段的编码方式在默认情况下是与创建数据库的时候编码方式是一致的。
所以接下来介绍一些关于 MySQL 的数据库、表以及字段的编码方式的一些操作。

1、数据库的编码

创建数据库指定编码

以下是创建数据库时指定兼容中文字符的 utf-8 编码的语句。

CREATE DATABASE utf8_test DEFAULT  CHARACTER='utf8';

然后可以切换到这个数据库,用如下命令查看该数据库编码方式:

USE utf8_test;
SHOW VARIABLES LIKE '%character%';
修改数据库指定编码

如果我们在创建数据库的时候使用的默认的 latin1 ,可以通过如下方式修改数据库编码方式。

CREATE DATABASE default_test;
USE default_test;
SHOW VARIABLES LIKE '%character%';
ALTER DATABASE default_test  DEFAULT CHARACTER SET='utf8';
SHOW VARIABLES LIKE '%character%';

ALTER 那一行就是修改数据库编码方式的语句。

2、表的编码

创建表指定编码
CREATE TABLE utf8_table (
	.......
) ENGINE=InnoDB DEFAULT CHARSET='utf8';

使用查看创建表的语句,可以知道表的编码方式:

SHOW CREATE TABLE utf8_table;
修改表指定编码

选择一个使用默认编码的数据库,也就是编码方式为 latin1 的数据库,然后创建一张表不指定编码方式,表的编码方式就是默认的 latin1.

使用以下语句修改表的编码方式:

ALTER TABLE latin1_table CHARACTER SET='utf8';

3、字段的编码

字段的编码在创建字段的时候是跟随表的编码的方式,可以做个测试:
1)创建一张表结构为 latin1 的表
2)修改表的编码方式为 utf8
3)使用以下语句查看字段的编码方式:

SHOW FULL COLUMNS FROM column_latin1;

可以看到即使修改表的编码方式后,字段的编码方式还是 latin1

修改字段编码
ALTER TABLE column_latin1 MODIFY COLUMN remark varchar(12) CHARACTER SET utf8;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值