0 查看字符集(character_set/collation)
use information_schema;
desc tables;    --一定记住tables表,information_schema中的metadata都可以查到
-- 查看db的默认,DEFAULT_CHARACTER_SET_NAME/DEFAULT_COLLATION_NAME
select * from schemata where schema_name = 'db_name';
-- 查看table的,只有table_collation字段
select * from tables where table_schema = 'db_name' and table_name = 'table_name';
-- 查看column的,CHARACTER_SET_NAME/COLLATION_NAME都要
select * from columns where table_schema = 'db_name' and table_name = 'table_name';1234567891011
 
--查看mysql支持的character_set,Default collation是默认的"大小写敏感"
select * from information_schema.character_sets;   
--就是执行了上面的sql
show charset;1234
 
 
/*
查看各character set的collation,以gbk为例
gbk_chinese_ci是"大小写不敏感",ci是case sensitive的缩写
gbk_bin是"大小写敏感",以二进制(binary)存储
*/
select * from information_schema.collations;
show collation;1234567
 
 
show variables like 'character_set%';   --查看当前环境的character_set1
 
 
show variables like 'collation%';   --查看当前的collation1
 
 
1 my.ini配置character_set
 
-- 注意位置,放在[client]和[mysql]都可以,效果相同,以后面的为准。放在[mysqld]下服务不能启动。
default-character-set = utf8
-- 上句设置之后,对应的全局变量改变
character_set_client = utf8
character_set_connection = utf8
character_set_results = utf8
-- 注意位置,放在[mysqld]下
character-set-server = gbk
collation-server = gbk_bin
-- 上句设置之后,对应的全局变量改变
character_set_database = gbk
character_set_server = gbk    --默认的create database db时的character_set,其他的含义待测试,可根据字面单词猜想
collation_database = gbk_bin
collation_server = gbk_bin1234567891011121314151617
 
2 数据库的character_set指定/修改
 
-- 默认db的character_set和@@character_set_server一致,table和db一致,column和table一致
create database db;
-- defalut可有可无,注意gbk的default collation(上面有)是gbk_chinese_ci(大小写不敏感)
-- 即使collation_database/server都是gbk_bin,创建的db默认仍是gbk_chinese_ci,这里专门指定
create datadbase db character set gbk collate gbk_bin;
create datadbase db default character set gbk collate gbk_bin;  --正确
alter datadbase db character set gbk collate gbk_bin;       --正确
alter datadbase db convert to character set gbk collate gbk_bin;    --错误,不支持convert to1234567891011
 
3 table的character_set指定/修改
 
create table t1(c1 varchar2) character set gbk collate gbk_chinese_ci;
-- 测试
insert into t1 values('a');
select * from t1 where c1 = 'A';    --返回'a',此时'a'='A'
--注意以下两种方法的差别,第1句是只是修改默认
alter table t1 character set gbk collate gbk_bin;   --提示Records: 0
--测试
alter table t1 add c2 varchar(50);
insert into t1 values('b','b');
select * from t1 where c1 = 'A';    --返回'a',c1仍然是gbk_chinese_ci
select * from t1 where c2 = 'B';    --返回empty,c2是gbk_bin
--已有字段c1,c2及再添加的默认都是gbk_bin
alter table t1 convert to character set gbk collate gbk_bin;    --提示Records: 112345678910111213141516
 
4 column的character_set指定/修改
 
-- 套路相同
alter table add c1 varchar(50) character set gbk collate gbk_bin;
alter table t1 change c1 c1 varchar(50) character set gbk collate gbk_bin;

mysql(5.7.17)字符集设置(character_set/collation)的更多相关文章

  1. MySQL驱动和数据库字符集设置不搭配

    刚才控制台又报这个错,这是代表MySQL驱动和数据库字符集设置不搭配: 错误: "...Initial client character set can be forced via the ...

  2. mysql配置命令 CHARACTER_SET_%字符集设置

    参照: http://blog.csdn.net/mzlqh/article/details/7621307点击打开链接 其实现在的ubuntu12. 直接sudo apt-get install M ...

  3. ubuntu mysql 配置(远程访问&&字符集设置&&忽略大小写)

    1.安装 参考http://www.cnblogs.com/wuhou/archive/2008/09/28/1301071.html sudo apt-get install mysql-serve ...

  4. 【MySQL for Mac】终极解决——MySQL在Mac的字符集设置

    这个问题烦恼一天了,现在终于得以解决.分享给大家 首先贴出来,亲测不可行的博客连接: http://www.2cto.com/database/201305/215563.html http://bl ...

  5. mysql 表及其列字符集设置

    --修改表的字符集 alter table rtb_media_daily_report character set gbk; --查询表列字符集 show full columns from rtb ...

  6. MySQL字符集设置及字符转换(latin1转utf8)

    MySQL字符集设置及字符转换(latin1转utf8) http://blog.chinaunix.net/uid-25266990-id-3344584.html  MySQL字符集设置及字符转换 ...

  7. Mysql字符集设置

    转 基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如’A'.’B'等:• 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encodi ...

  8. Mysql字符集设置 2 图

    基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如'A'.'B'等: • 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encodin ...

  9. 再见乱码:5分钟读懂MySQL字符集设置

    一.内容概述 在MySQL的使用过程中,了解字符集.字符序的概念,以及不同设置对数据存储.比较的影响非常重要.不少同学在日常工作中遇到的"乱码"问题,很有可能就是因为对字符集与字符 ...

随机推荐

  1. PMP备考指南之第二章:项目运作环境

    本文已同步至 GitHub/Gitee/公众号,感兴趣的同学帮忙点波关注~ 第二章:项目运作环境 1. 事业环境因素.组织过程资产 事业环境因素 Enterprise Environmental Fa ...

  2. mongodb-mongotemplate进行地理坐标操作

    因为项目中使用的springboot + mongotemplate, 所以还是需要mongotemplate的操作方式 首先建立一个bean: package com.iwhere.easy.tra ...

  3. 使用fastjson进行转换

    package junit.test; import java.util.ArrayList; import java.util.HashMap; import java.util.List; imp ...

  4. MVC中分页的实现

    我在 (www.helpqy.com) 中使用了下面的分页技术. 分页可以采用troygoode提供的开源包,其开源网站主页为:https://github.com/TroyGoode/PagedLi ...

  5. 如何找出长时间未提交的事务session ID

    收到报警某台mysql数据库慢查询数量超过5,登录上去看,发现阻塞的SQL全部是update,处于Updating状态 +---------+------+-----------+------+--- ...

  6. C# WebBrowser设置代理

    WebBrowser控件是基于IE浏览器的,所以它的内核功能是依赖于IE. code: class IEProxy { //设置代理选项 private const int INTERNET_OPTI ...

  7. Git报错:error: cannot open .git/FETCH_HEAD: Read-only file system

    Git:git pull时报错 error: cannot open .git/FETCH_HEAD: Read-only file system 查看该文件: 未在网上找到解决办法,重启服务器就好了 ...

  8. [转] Hadoop管理员的十个最佳实践

    前言 接触Hadoop有两年的时间了,期间遇到很多的问题,既有经典的NameNode和JobTracker内存溢出故障,也有HDFS存储小文件问题,既有任务调度问题,也有MapReduce性能问题.遇 ...

  9. [源码] 定义String s="abcd", 求长度

    一般会答: s.length() 看源码是如何实现的: /** * Returns the length of this string. * The length is equal to the nu ...

  10. js判断用户是否离开当前页面

    简介 VisibilityChange 事件:用于判断用户是否离开当前页面 Code // 页面的 visibility 属性可能返回三种状态 // prerender,visible 和 hidde ...