修改mysql数据的字符集校验规则使其区分大小写
mysql 使用utf8字符集默认的校验规则collate为utf8_general_ci,不区分数据的大小写
测试如下
13:50:04[test](;)> alter table test add col1 varchar(25) character set utf8 collate utf8_bin;
Query OK, 0 rows affected (0.16 sec)
Records: 0 Duplicates: 0 Warnings: 0 13:51:43[test](;)> update test set col1='BBc' where name='bbc';
Query OK, 1 row affected (0.11 sec)
Rows matched: 1 Changed: 1 Warnings: 0 13:52:10[test](;)> select * from test;
+------+------+
| name | col1 |
+------+------+
| BBC | BBc |
+------+------+
1 row in set (0.00 sec) 13:52:17[test](;)> select * from test where col1='bbc';
Empty set (0.00 sec) 13:52:36[test](;)> alter table test modify name varchar(25) character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.14 sec)
Records: 1 Duplicates: 0 Warnings: 0 13:53:26[test](;)> select * from test where name='bbc';
Empty set (0.00 sec)
13:53:32[test](;)> alter table test modify name varchar(25) character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.14 sec)
Records: 1 Duplicates: 0 Warnings: 0 14:06:26[test](;)> select * from test where name='bbc';
+------+------+
| name | col1 |
+------+------+
| BBC | BBc |
+------+------+
1 row in set (0.00 sec)
修改数据库和表的字符集对已存入的和后来插入的数据都无影响,数据的collate依然是默认的
alter table collate_ DEFAULT CHARSET=utf8 collate=utf8_bin;
alter database test default COLLATE=utf8_bin;
修改相关变量不起效,变更字段的collate才奏效
14:09:00[(none)](;)> show variables like '%coll%';
+----------------------+----------+
| Variable_name | Value |
+----------------------+----------+
| collation_connection | utf8_bin |
| collation_database | utf8_bin |
| collation_server | utf8_bin |
+----------------------+----------+
修改mysql数据的字符集校验规则使其区分大小写的更多相关文章
- 修改mysql数据存储的地址
修改mysql数据存储的地址 修改步骤如下 1,修改前为默认路径/var/lib/mysql/,计划修改为/data/mysql/data mysql> show variables like ...
- CentOS 7修改MySQL 5.6字符集为UTF-8
MySQL编码原因会导致数据库出现中文乱码 解决办法: 修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 mys ...
- mac下修改mysql的默认字符集为utf8
1,检查默认安装的mysql的字符集 mysql> show variables like '%char%'; +--------------------------+------------- ...
- Ubuntu16.04下修改MySQL数据的默认存储位置
由于在Linux下MySQL默认是存储在/var/lib/mysql目录下,mysql的数据会非常大,由于/var所划分的空间不够大,所以我们需要将mysql数据存放路径修改一下,放到大分区里面,以便 ...
- 修改mysql数据引擎的方法- 提高数据库性能
前言:同学告我说,他为了能使得数据查询变得快一点,修改的数据引擎,故查询一下,总结一下. 登录mysql后,查看当前数据库支持的引擎和默认的数据库引擎,使用下面命令: mysql>show en ...
- 修改mysql数据存储位置
停止mysql服务. 在mysql安装目录下找到mysql配置文件my.ini. 在my.ini中找到mysql数据存储位置配置datadir选项,比如我电脑上的配置如下: # Path to the ...
- 修改MySql 数据默认存储路径
1. cmd进入控制台 net stop mysql 2.复制原来数据库目录到新目录 复制C:\ProgramData\MySQL\MySQL Server 5.5\中的data目录到 D:\Prog ...
- linu下修改mysql数据库面
修改密码:1.例如你的 root用户现在没有密码,你希望的密码修改为123456,那么命令是:mysqladmin -u root password 1234562.如果你的root现在有密码了(12 ...
- 修改mysql表的字符集
ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; 修改数据库字符集: 代码如下: ALTER DAT ...
随机推荐
- hdu 3861 The King’s Problem
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...
- [手势识别] CNN + OpenCV 手势识别记录
这几天没事,想着再学点一些视觉识别方向的东西,因为之前做了验证码识别,有了机器学习的信心,因此这次打算做个手势识别,参考了很多网上的图像处理方式,中间也遇到了很多问题,最终算是做出来了吧. 1.训练集 ...
- VA助手添加扩展文件后缀名
Allow C/C++ files with a non-standard extension Follow these steps to make Visual Assist consider as ...
- eclipse报错GC overhead limit exceed,卡顿
在使用Eclipse的Build Project功能时,提示以下错误: An internal error occurred during: “Build Project”. GC overhead ...
- PAT (Basic Level) Practise (中文)- 1011. A+B和C (15)
http://www.patest.cn/contests/pat-b-practise/1011 给定区间[-231, 231]内的3个整数A.B和C,请判断A+B是否大于C. 输入格式: 输入第1 ...
- VS Code:设置多行注释快捷键
多行注释,也叫块注释. 如何查看,并修改VS Code中的多行注释快捷键呢? 1). 点击 首选项 - 键盘快捷方式 2). 在搜索框中输入 comment 3). 这个时候可以看到“切换块注释”的信 ...
- iOS 多线程编程
参考文章: iOS多线程编程之NSThread的使用http://blog.csdn.net/totogo2010/article/details/8010231 iOS多线程编程之NSOperati ...
- 【思维题 kmp 构造】bzoj4974: [Lydsy1708月赛]字符串大师
字符串思博题这一块还是有点薄弱啊. Description 一个串T是S的循环节,当且仅当存在正整数k,使得S是T^k(即T重复k次)的前缀,比如abcd是abcdabcdab的循环节 .给定一个长度 ...
- Python分布式爬虫开发搜索引擎 Scrapy实战视频教程
点击了解更多Python课程>>> Python分布式爬虫开发搜索引擎 Scrapy实战视频教程 课程目录 |--第01集 教程推介 98.23MB |--第02集 windows下 ...
- centos安装并配置MySQL
一.卸载掉原有mysql [root@xiaoluo ~]# rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库 [root@xiaoluo ~ ...