怎么查看mysql大小寫 mysql 查看表內(nèi)容是否區(qū)分大小寫

mysql字符串區(qū)分大小寫的問題

背景:最近有個(gè)需求,需要根據(jù)品牌名(varchar)去重?cái)?shù)據(jù)。去重后發(fā)現(xiàn)數(shù)據(jù)有丟失。

成都創(chuàng)新互聯(lián)專注于隴南企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),成都商城網(wǎng)站開發(fā)。隴南網(wǎng)站建設(shè)公司,為隴南等地區(qū)提供建站服務(wù)。全流程按需搭建網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

問題:MySql中字符串大小寫默認(rèn)不區(qū)分。

整個(gè)例子實(shí)驗(yàn)一下。像平常一樣建一張表,插入兩條數(shù)據(jù)。

執(zhí)行如下腳本,查詢出來兩條數(shù)據(jù),確實(shí)是不區(qū)分大小寫的。

2.設(shè)置字符集和排序方式;

3.創(chuàng)建表的時(shí)候指定binary類型,或者更改字段類型;

4.在MySQL的配置文件my.ini中增加一行:lower_case_table_names = 0;

其中 0:區(qū)分大小寫,1:不區(qū)分大小寫。(這種方法我并沒有嘗試。)

mysql數(shù)據(jù)庫表名區(qū)分大小寫

使用mysql的時(shí)候,創(chuàng)建的表明都是大寫的,但是查詢語句中表明用消息就會(huì)報(bào)錯(cuò),表不存在。

查詢后發(fā)現(xiàn)mysql默認(rèn)配置是表明區(qū)分大小寫的,如果要修改成不區(qū)分大小寫,需要修改一下配置。

使MySQL查詢區(qū)分大小寫的實(shí)現(xiàn)方法

1、一種方法是可以設(shè)置表或行的collation,使其為binary或case

sensitive。在MySQL中,對于Column

Collate其約定的命名方法如下:

*_bin:

表示的是binary

case

sensitive

collation,也就是說是區(qū)分大小寫的

*_cs:

case

sensitive

collation,區(qū)分大小寫

*_ci:

case

insensitive

collation,不區(qū)分大小寫

###########

#

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)

###########

#

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、還有一種方法就是在查詢時(shí)指定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 怎么檢查大小寫敏感

1、linux下mysql安裝完后是默認(rèn):區(qū)分表名的大小寫,不區(qū)分列名的大小寫;

2、用root帳號(hào)登錄后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重啟MYSQL服務(wù),這時(shí)已設(shè)置成功:不區(qū)分表名的大小寫;

lower_case_table_names參數(shù)詳解:

lower_case_table_names = 0

其中 0:區(qū)分大小寫,1:不區(qū)分大小寫

MySQL在Linux下數(shù)據(jù)庫名、表名、列名、別名大小寫規(guī)則是這樣的:

1、數(shù)據(jù)庫名與表名是嚴(yán)格區(qū)分大小寫的;

2、表的別名是嚴(yán)格區(qū)分大小寫的;

3、列名與列的別名在所有的情況下均是忽略大小寫的;

4、變量名也是嚴(yán)格區(qū)分大小寫的;

MySQL在Windows下都不區(qū)分大小寫。

3、如果想在查詢時(shí)區(qū)分字段值的大小寫,則:字段值需要設(shè)置BINARY屬性,設(shè)置的方法有多種:

A、創(chuàng)建時(shí)設(shè)置:

CREATE TABLE T(

A VARCHAR(10) BINARY

);

B、使用alter修改:

ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;

C、mysql table editor中直接勾選BINARY項(xiàng)。

mysql模糊查詢區(qū)分大小寫

通常我們會(huì)遇到一個(gè)字段中存儲(chǔ)多個(gè)相似單詞,比如這樣:

我們通過like進(jìn)行查詢時(shí) like ‘%teacher%’,但是大寫的Teacher也會(huì)被我們找到;

原因:由于sql在查詢時(shí)默認(rèn)不會(huì)進(jìn)行大小寫區(qū)分;

這時(shí)我們可以使用BINARY類型轉(zhuǎn)換運(yùn)算符;

BINARY 運(yùn)算符將緊隨其后的 string 轉(zhuǎn)換為 二進(jìn)制字符串。

主要用來強(qiáng)制進(jìn)行按字節(jié)進(jìn)行比較(byte by byte),字節(jié)而不是字符的字符。

這使得字符串比較 是區(qū)分大小寫 的, 不管原始的列定義是否是 BINARY 或者 BLOB。

BINARY 也 對字符串末尾的空格敏感 。

sql可以這樣寫:select * from 表 where name like?binary '%teacher%';

如何判斷mysql 是否開啟大小寫

show?Variables?like?'lower_case_table%'查看lower_case_table_names的值:

0代表區(qū)分,1代表不區(qū)分。

mysql?show?Variables?like?'lower_case_table%';

+------------------------+-------+

|?Variable_name??????????|?Value?|

+------------------------+-------+

|?lower_case_table_names?|?0?????|

+------------------------+-------+

1?row?in?set?(0.01?sec)

mysql

網(wǎng)站題目:怎么查看mysql大小寫 mysql 查看表內(nèi)容是否區(qū)分大小寫
URL地址:http://www.muchs.cn/article42/hjeeec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)品牌網(wǎng)站建設(shè)、小程序開發(fā)、搜索引擎優(yōu)化企業(yè)建站、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作