mysql字符串区分大小写的问题 背景:最近有个需求,需要根据品牌名(varchar)去重数据 。去重后发现数据有丢失 。
问题:MySql中字符串大小写默认不区分 。
整个例子实验一下 。像平常一样建一张表,插入两条数据 。
执行如下脚本,查询出来两条数据 , 确实是不区分大小写的 。
2.设置字符集和排序方式;
3.创建表的时候指定binary类型,或者更改字段类型;
4.在MySQL的配置文件my.ini中增加一行:lower_case_table_names = 0;
其中 0:区分大小写,1:不区分大小写 。(这种方法我并没有尝试 。)
mysql 怎么检查大小写敏感1、linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;
2、用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务 , 这时已设置成功:不区分表名的大小写;
lower_case_table_names参数详解:
lower_case_table_names = 0
其中 0:区分大小写,1:不区分大小写
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在Windows下都不区分大小写 。
3、如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性 , 设置的方法有多种:
A、创建时设置:
CREATE TABLE T(
A VARCHAR(10) BINARY
);
B、使用alter修改:
ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;
C、mysql table editor中直接勾选BINARY项 。
如何判断mysql 是否开启大小写show Variables like 'lower_case_table%'查看lower_case_table_names的值:
0代表区分,1代表不区分 。
mysql show Variables like 'lower_case_table%';
------------------------ -------
| Variable_name| Value |
------------------------ -------
| lower_case_table_names | 0|
------------------------ -------
1 row in set (0.01 sec)
mysql
如何在mysql中使字段区分大小写select * from abc whre id="a" 与
select * from abc whre id="A" 查询出的结果是不同的
对单个字段设置的方式就不用说怎么看mysql大小写了,希望得到是对mysql默认的设置或是对整个库的设置
是否区分大小写和校对规则有关怎么看mysql大小写,默认设的规则是大小写不敏感的 。
show create table如果看到collate是ci结尾怎么看mysql大小写,那么就是不区别的 , 如果cs或bin结尾 , 就是区别的 。
如果建表的时候选择的是区别大小写的规则而查询的时候又暂时不想区别,
可以用类似
WHERE column_name COLLATE latin1_general_ci = 'xxx'
的写法改变查询使用的校对规则
mysql数据库表名区分大小写使用mysql的时候,创建的表明都是大写的 , 但是查询语句中表明用消息就会报错,表不存在 。
查询后发现mysql默认配置是表明区分大小写的,如果要修改成不区分大小写,需要修改一下配置 。
使MySQL查询区分大小写的实现方法1、一种方法是可以设置表或行的collation怎么看mysql大小写,使其为binary或case
sensitive 。在MySQL中怎么看mysql大小写,对于Column
Collate其约定的命名方法如下怎么看mysql大小写:
*_bin:
表示的是binary
case
sensitive
collation怎么看mysql大小写,也就是说是区分大小写的
*_cs:
case
sensitive
collation怎么看mysql大小写,区分大小写
*_ci:
case
insensitive
collation,不区分大小写
###########
#
Start
binary
collation
example
###########
mysql
create
table
case_bin_test
(word
VARCHAR(10))
CHARACTER
SET
latin1
COLLATE
latin1_bin;
Query
OK,
rows
affected
(0.02
sec)
mysql
INSERT
INTO
case_bin_test
VALUES
('Frank'),('Google'),('froogle'),('flickr'),('FlicKr');
Query
OK,
5
rows
affected
(0.00
sec)
Records:
5
Duplicates:
Warnings:
mysql
SELECT
*
FROM
case_bin_test
WHERE
word
LIKE
'f%';
---------
|
word
|
---------
|
froogle
|
|
flickr
|
---------
2
rows
in
set
(0.00
sec)
mysql
SELECT
*
FROM
case_bin_test
WHERE
word
LIKE
'F%';
---------
|
word
|
---------
|
Frank
|
|
FlicKr
|
---------
4
rows
in
set
(0.00
sec)
###########
#
【怎么看mysql大小写 mysql查看大小】End
###########
2、另外一种方法
###########
#
Start
case
sensitive
collation
example
###########
mysql
create
table
case_cs_test
(word
VARCHAR(10))
CHARACTER
SET
latin1
COLLATE
latin1_general_cs;
Query
OK,
rows
affected
(0.08
sec)
mysql
INSERT
INTO
case_cs_test
VALUES
('Frank'),('Google'),('froogle'),('flickr'),('FlicKr');
Query
OK,
5
rows
affected
(0.00
sec)
Records:
5
Duplicates:
Warnings:
mysql
SELECT
*
FROM
case_cs_test
WHERE
word
LIKE
'F%';
---------
|
word
|
---------
|
Frank
|
|
FlicKr
|
---------
4
rows
in
set
(0.00
sec)
mysql
SELECT
*
FROM
case_cs_test
WHERE
word
LIKE
'f%';
---------
|
word
|
---------
|
froogle
|
|
flickr
|
---------
2
rows
in
set
(0.00
sec)
###########
#
end
###########
3、还有一种方法就是在查询时指定collation
mysql
create
table
case_test
(word
VARCHAR(10))
CHARACTER
SET
latin1;
Query
OK,
rows
affected
(0.01
sec)
mysql
INSERT
INTO
case_test
VALUES
('Frank'),('Google'),('froogle'),('flickr'),('FlicKr');
Query
OK,
7
rows
affected
(0.01
sec)
Records:
7
Duplicates:
Warnings:
mysql
SELECT
*
FROM
case_test
WHERE
word
LIKE
'f%';
---------
|
word
|
---------
|
Frank
|
|
froogle
|
|
flickr
|
|
FlicKr
|
---------
6
rows
in
set
(0.01
sec)
mysql
SELECT
*
FROM
case_test
WHERE
word
LIKE
'F%';
---------
|
word
|
---------
|
Frank
|
|
froogle
|
|
flickr
|
|
FlicKr
|
---------
6
rows
in
set
(0.01
sec)
mysql
SELECT
*
FROM
case_test
WHERE
word
COLLATE
latin1_bin
LIKE
'F%';
---------
|
word
|
---------
|
Frank
|
|
FlicKr
|
---------
4
rows
in
set
(0.05
sec)
mysql
SELECT
*
FROM
case_test
WHERE
word
COLLATE
latin1_bin
LIKE
'f%';
---------
|
word
|
---------
|
froogle
|
|
flickr
|
---------
2
rows
in
set
(0.00
sec)
mysql
SELECT
*
FROM
case_test
WHERE
word
LIKE
'f%'
COLLATE
latin1_bin;
---------
|
word
|
---------
|
froogle
|
|
flickr
|
---------
2
rows
in
set
(0.00
sec)
mysql
SELECT
*
FROM
case_test
WHERE
word
LIKE
'F%'
COLLATE
latin1_bin;
---------
|
word
|
---------
|
Frank
|
|
FlicKr
|
---------
4
rows
in
set
(0.01
sec)
mysql
SELECT
*
FROM
case_test
WHERE
word
LIKE
'F%'
COLLATE
latin1_general_cs;
---------
|
word
|
---------
|
Frank
|
|
FlicKr
|
---------
4
rows
in
set
(0.04
sec)
关于怎么看mysql大小写和mysql查看大小的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 备孕小知识分享直播话术,备孕宣传视频
- 乐高迷你一体机电脑怎么拆,乐高拼电脑机箱
- excel如何排序,excel如何排序1234自动
- 钉钉直播显示所有学生时长,钉钉直播时间不够怎么解释
- 关于windows7美化系统的信息
- 关于sap实施人天单价的信息
- 全球ip代理软件哪个好,全球ip代理软件哪个好
- vb.net与数据库交换 vb与sql数据库连接
- postgresql10,POSTGRESQL10安装后弹出fatal error