sql数据库字符集
1
2
3
4
5
-- 创建数据库时,设置数据库的编码方式
-- CHARACTER SET:指定数据库采用的字符集,utf8不能写成utf-8
-- COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为utf8_general_ci(通过show character set查看)
drop database if EXISTS dbtest;
create database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;
1
2
3
-- 修改数据库编码
alter database dbtest CHARACTER SET GBK COLLATE gbk_chinese_ci;
alter database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;
1
2
3
4
5
6
7
8
9
-- 创建表时,设置表、字段编码
use dbtest;
drop table if exists tbtest;
create table tbtest(
id int(10) auto_increment,
user_name varchar(60) CHARACTER SET GBK COLLATE gbk_chinese_ci,
email varchar(60),
PRIMARY key(id)
)CHARACTER SET utf8 COLLATE utf8_general_ci;
1
2
3
4
-- 修改表编码
alter table tbtest character set utf8 COLLATE utf8_general_ci;
-- 修改字段编码
ALTER TABLE tbtest MODIFY email VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_general_ci;
1
2
3
4
-- 查看所有的字符编码
SHOW CHARACTER SET;
-- 查看创建数据库的指令并查看数据库使用的编码
show create database dbtest;
1
2
-- 查看数据库编码:
show variables like '%char%';
1
2
-- 设置character_set_server、set character_set_client和set character_set_results
set character_set_server = utf8; -- 服务器的默认字符集。使用这个语句可以修改成功,但重启服务后会失效。根本的办法是修改配置MYSQL文件MY.INI,
character_set_server=utf8,配置到mysqld字段下。
set character_set_client = gbk; -- 来自客户端的语句的字符集。服务器使用character_set_client变量作为客户端发送的查询中使用的字符集。
set character_set_results = gbk; -- 用于向客户端返回查询结果的字符集。character_set_results变量指示服务器返回查询结果到客户端使用的字符集。包括结果数据,例如列值和结果元数据(如列名)。
1
2
-- 查看某字段使用的编码:
SELECT CHARSET(email) FROM tbtest;
2. mysql中怎么设置字符集
方法1:通过客户端修改表字段的默认字符集
打开SQLyog客户端,连接数据库如下图所示,点击connection 按钮 连接数据库
我的数据库名称为e,然后我随意找到数据库中test2表,右键-----》Alter Table
如果安装数据库的 时候 没有选择字符集设置,那么mysql数据库默认为latin1,在箭头部分选择utf8字符集
方法2:用数据库命令修改字符集
首先查看当前数据库字符集,在命令框中执行如下命令:show variables like 'character_set_%';
查看字符集排序设置,执行命令:show variables like 'collation_%';
修改服务器级别字符集,执行命令:
1,临时修改:SET GLOBAL character_set_server=utf8;
修改表级别,命令如下:ALTER TABLE table_name DEFAULT CHARSET utf8;
修改数据库级别,命令如下:use e(换成你要修改的数据库名,在这里我的数据库为e),,然后执行命令:alter database e character set utf-8;
或者修改mysql的my.ini文件中的字符集键值
[mysql]
[mysqld]
重启mysql
3. 如何查看mysql数据库的编码字符集
基本上现在的字符集 MySQL 都支持,查看 MySQL 支持的字符集列表, 有两种方法:
1. SQL 语句
2. 查看元数据字典表
查询结果:
1)第一列代表字符集名字;
2)第二列表示字符集排序规则;
3)第三列表示字符集描述;
4)第四列表示字符集编码的最大字节数。
4. MySQL 数据库4种字符集查看方法
1、查看数据表的字符集
mysql>
show
create
table
mytable;
这个命令也可以查看建这个表的SQL语句。
2、查看数据库连接情况:
mysql>show
processlist;
mysql>show
processlist\G;
3、使用SHOW
CHARACTER
SET语句列出数据库中可用的字符集:
4、要想列出一个字符集的校对(Collation)规则,使用SHOW
COLLATION语句。
例如,要想查看latin1(“西欧ISO-8859-1”)字符集的校对规则,使用下面的语句查找那些名字以latin1开头的校对规则:
mysql>
SHOW
COLLATION
LIKE
'latin1%';
5. 怎么使用SQL语句查MySQL数据库中数据表的字符集类型
select columns from table_name ;
6. 如何使用SQL语句创建名称为OnLineDB的数据库,默认字符集设置为utf-8
步骤一:首先在Linux上安装mysql,本文不介绍mysql的安装过程
#yum install mysql
#yum install mysql-server
#yum install mysql-devel
在Cenots7操作系统上,安装mariadb(MariaDB数据库管理系统是MySQL的一个分支,centos7使用),安装命令:yum install mariadb-server mariadb
步骤三:修改之后,重启mysqlf服务(systemctl restart mariadb),重启之后登陆mysql(mysql -umysql -p),使用语句show variable like '%character%;查询结果如下,字符编码已经变成utf-8了。
如果查询结果显示不是UTF-8,就需要检查修改的是否正确,也可以使用sql命令就行修改
set character_set_client = utf8;
set character_set_server = utf8;
set character_set_connection = utf8;
set character_set_database = utf8;
set character_set_results = utf8;
set collation_connection = utf8_general_ci;
set collation_database = utf8_general_ci;
set collation_server = utf8_general_ci;