mysql语句编码_使用SQL语句操作MYSQL字符编码
-- 查看所有的字符編碼
SHOW CHARACTER SET;
-- 查看創(chuàng)建數(shù)據(jù)庫(kù)的指令并查看數(shù)據(jù)庫(kù)使用的編碼
show create database dbtest;
-- 查看數(shù)據(jù)庫(kù)編碼:
show variables like '%char%';
-- 設(shè)置character_set_server、set character_set_client和set character_set_results
set character_set_server = utf8; -- 服務(wù)器的默認(rèn)字符集。使用這個(gè)語(yǔ)句可以修改成功,但重啟服務(wù)后會(huì)失效。根本的辦法是修改配置MYSQL文件MY.INI,character_set_server=utf8,配置到mysqld字段下。
set character_set_client = gbk; -- 來(lái)自客戶端的語(yǔ)句的字符集。服務(wù)器使用character_set_client變量作為客戶端發(fā)送的查詢中使用的字符集。
set character_set_results = gbk; -- 用于向客戶端返回查詢結(jié)果的字符集。character_set_results變量指示服務(wù)器返回查詢結(jié)果到客戶端使用的字符集。包括結(jié)果數(shù)據(jù),例如列值和結(jié)果元數(shù)據(jù)(如列名)。
-- 創(chuàng)建數(shù)據(jù)庫(kù)時(shí),設(shè)置數(shù)據(jù)庫(kù)的編碼方式
-- CHARACTER SET:指定數(shù)據(jù)庫(kù)采用的字符集,utf8不能寫成utf-8
-- COLLATE:指定數(shù)據(jù)庫(kù)字符集的排序規(guī)則,utf8的默認(rèn)排序規(guī)則為utf8_general_ci(通過show character set查看)
drop database if EXISTS dbtest;
create database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 修改數(shù)據(jù)庫(kù)編碼
alter database dbtest CHARACTER SET GBK COLLATE gbk_chinese_ci;
alter database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 創(chuàng)建表時(shí),設(shè)置表、字段編碼
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;
-- 修改表編碼
alter table tbtest character set utf8 COLLATE utf8_general_ci;
-- 修改字段編碼
ALTER TABLE tbtest MODIFY email VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 查看某字段使用的編碼:
SELECT CHARSET(email) FROM tbtest;
總結(jié)
以上是生活随笔為你收集整理的mysql语句编码_使用SQL语句操作MYSQL字符编码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle迁移至gaussdb,Gau
- 下一篇: oracle ebs 安装教程,Orac