mysql中字符大小写问题

mysql中字符大小写问题

参考网址:

链接1

https://blog.csdn.net/wangtaoking1/article/details/107954837?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163163483216780265432711%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=163163483216780265432711&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-1-107954837.first_rank_v2_pc_rank_v29&utm_term=mysql+COLLATE+%E5%85%B3%E9%94%AE%E5%AD%97&spm=1018.2226.3001.4187

链接2

https://blog.csdn.net/network_dream/article/details/89316870?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163160351116780274130181%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=163160351116780274130181&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-2-89316870.first_rank_v2_pc_rank_v29&utm_term=mysql%E4%B8%8D%E5%8C%BA%E5%88%86%E5%A4%A7%E5%B0%8F%E5%86%99%E5%85%B3%E9%94%AE%E5%AD%97&spm=1018.2226.3001.4187

提问

mysql字符类型支持大小写吗

问题在线

建表语句

-- 不区分大小写
CREATE TABLE `demo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(64) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4
-- 区分大小写
 CREATE TABLE `demo1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4
-- 插入测试数据
insert into demo values(null,"Hello");
insert into demo1 values(null,"Hello");

关键

CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL `code` varchar(32) CHARACTER SET utf8 COLLATE 
 -- COLLATE属性用于指定列的排序和比较方式

测试

查出数据

mysql> select * from demo;
+----+-------+
| id | name  |
+----+-------+
|  1 | Hello |
+----+-------+
1 row in set (0.00 sec)

mysql> select * from demo where name = 'hello';
+----+-------+
| id | name  |
+----+-------+
|  1 | Hello |
+----+-------+
1 row in set (0.00 sec)

未查出数据

mysql> select * from demo1;
+----+-------+
| id | name  |
+----+-------+
|  1 | Hello |
+----+-------+
1 row in set (0.00 sec)

mysql> select * from demo1 where name = 'hello';
Empty set (0.00 sec)

结论

mysql默认建表不指定规则,默认是不区分大小写的,如果字符类型指定COLLATE需要区分大小写,那么就支持大小写

有问题欢迎指出



个人csdn博客网址:https://blog.csdn.net/shaoming314

jam

个人博客网址:www.shaoming.club

halo

勇敢牛牛,不怕困难

img
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值