亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际

17站長網(wǎng)

17站長網(wǎng) 首頁 數(shù)據(jù)庫 Mysql 查看內(nèi)容

MySQL中大小寫難題

2023-3-16 14:58| 查看: 1896 |來源: 互聯(lián)網(wǎng)

1.MySQL大小寫敏感規(guī)則MySQL中,一個(gè)庫會(huì)對應(yīng)一個(gè)文件夾,庫里的表會(huì)則以文件的方式存放在文件夾內(nèi),所以,操作系統(tǒng)對大小寫的敏感性決定了數(shù)據(jù)庫和表的大小寫敏 ...

1.MySQL大小寫敏感規(guī)則

 MySQL中,一個(gè)庫會(huì)對應(yīng)一個(gè)文件夾,庫里的表會(huì)則以文件的方式存放在文件夾內(nèi),所以,操作系統(tǒng)對大小寫的敏感性決定了數(shù)據(jù)庫和表的大小寫敏感(MySQL有一個(gè)只讀的系統(tǒng)變量lower_case_file_system,其值反映的正是當(dāng)前文件系統(tǒng)是否區(qū)分大小寫)因此:在Windows下Mysql的數(shù)據(jù)庫和表名是大小寫不敏感的,而在大多數(shù)類型的Unix系統(tǒng)中是大小寫敏感的。

以下是MySQL詳細(xì)的大小寫區(qū)分規(guī)則:

在Linux下:

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

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

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

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

在Windows下:

全部不區(qū)分大小寫

補(bǔ)充:

1.MySQL中有一個(gè)系統(tǒng)變量:lower_case_table_names,專門用來配置是否區(qū)分據(jù)庫名與表名的大小寫。 如果你的系統(tǒng)是Windows,而你又希望mysql能夠區(qū)分大小寫,那么你可以在my.ini文件中,在[mysqld]一節(jié)的最后,加入如下部分:

[plain] view plain copy

#If set to 0, table names are stored as specified and comparisons are case sensitive.   

#If set to 1, table names are stored in lowercase on disk and comparisons are not case sensitive.   

#If set to 2, table names are stored as given but compared in lowercase. This option also applies to database names and table aliases.  

lower_case_table_names=0  

2.MySQL在查詢字符串時(shí)是大小寫不敏感的。如某字段值需要區(qū)分大小寫,可在定義該字段時(shí)指定BINARY屬性。

2.一種MySQL命名規(guī)范

為了避免大小寫引發(fā)的問題,一種推薦的命名規(guī)則是:在定義數(shù)據(jù)庫、表、列的時(shí)候全部采用小寫字母加下劃線的方式,不使用任何大寫字母。

3.關(guān)于Hibernate/JPA數(shù)據(jù)庫schema自動(dòng)映射的問題

使用Hibernate/JPA的工程可以自動(dòng)生成數(shù)據(jù)庫的schema,由于java有著自己的類與字段命名規(guī)則,這與mysql推薦的命名規(guī)則不太相符,于是出現(xiàn)了follow哪一種命名規(guī)范的問題。一般來說這會(huì)由團(tuán)隊(duì)和DBA協(xié)商確定,使用mysql的命名規(guī)范不會(huì)出現(xiàn)大小寫帶來的問題,對于DBA來說可能也更加友好,而使用java的命名規(guī)范則對開發(fā)人員來說無疑是更加友好的,這將省去列名的映射配置,同時(shí)也方便開發(fā)人員查看數(shù)據(jù)庫。如果你的項(xiàng)目使用了后者,你最好像上面講到的,設(shè)置一下lower_case_table_names=0。

MySQL語句中字母大小寫規(guī)則隨著語句元素的不同而變化,同時(shí)還要取決于MySQL服務(wù)器主機(jī)上的操作系統(tǒng)。

SQL關(guān)鍵字與函數(shù)名

關(guān)鍵字和函數(shù)名不區(qū)分字母的大小寫。如、abs、bin、now、version、floor等函數(shù)、SELECT、WHERE、ORDER、GROUP BY等關(guān)鍵字。

MySQL中大小寫問題

數(shù)據(jù)庫、數(shù)據(jù)表和視圖的名字

在服務(wù)器主機(jī)上,MySQL數(shù)據(jù)庫和數(shù)據(jù)表用底層文件系統(tǒng)中的目錄和文件表示。因此數(shù)據(jù)庫和數(shù)據(jù)表名字的默認(rèn)字母大小寫情況取決于服務(wù)器主機(jī)上的操作系統(tǒng)在文件名方面的規(guī)定。Windows文件名不區(qū)分字母的大小寫,所以運(yùn)行在windows主機(jī)上的MySQL服務(wù)器就不區(qū)分?jǐn)?shù)據(jù)庫和數(shù)據(jù)表名字的字母大小寫。運(yùn)行在Unix/Linux主機(jī)上的MySQL服務(wù)器區(qū)分?jǐn)?shù)據(jù)庫和數(shù)據(jù)表名字的大小寫。

MySQL中使用一個(gè)文件來表示一個(gè)試圖,所以視圖也符合上述規(guī)則。

存儲(chǔ)程序的名字

存儲(chǔ)函數(shù)、存儲(chǔ)過程、事件的名字不區(qū)分字母的大小寫。觸發(fā)器的名字要區(qū)分字母的大小寫。

數(shù)據(jù)列和索引的名字

數(shù)據(jù)列和索引的名字在MySQL環(huán)境里不區(qū)分字母的大小寫。實(shí)例如下:

MySQL的大小寫問題 不是一個(gè)很大的問題,但是如果不了解的話,卻會(huì)使用戶產(chǎn)生迷惑 ;如下面

Sql代碼

insert into t values('A');

insert into t values('a');

當(dāng)?shù)诙䲢l執(zhí)行的時(shí)候,如果是主鍵或者有唯一性約束的話,會(huì)發(fā)生

Sql代碼

Duplicate entry for XXX

更加迷惑的是下面的2條語句

Java代碼

insert into t values('~');

insert into t values('y');

也會(huì)發(fā)生插入錯(cuò)誤。

在查詢的時(shí)候也會(huì)出現(xiàn)這樣的問題

Java代碼

/* 查詢的結(jié)果一眼 */

select * from t where a like 'a%'

select * from t where a like 'A%'

/* 下面的查詢結(jié)果也是一樣 */

select * from t where a = 'y';

select * from t where a = ''~;

1.問題產(chǎn)生的原因

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

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

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

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

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

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

MySQL在查詢字符串時(shí)是大小寫不敏感的,在編繹MySQL時(shí)一般以ISO-8859字符集作為默認(rèn)的字符集,這個(gè)字符集對大小寫不敏感,因此在比較過程中中文編碼字符大小寫轉(zhuǎn)換造成了這種現(xiàn)象。

2.解決辦法

A.表名區(qū)分大小寫

在my.conf加入:

ower_case_table_names = 0

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

B.插入查詢時(shí)區(qū)分大小寫

字段值需要設(shè)置BINARY屬性,即可區(qū)分大小寫。

設(shè)置的方法有多種:

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

CREATE TABLE T(

A VARCHAR(10) BINARY

);

使用alter修改:

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

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

MySQL字符串大小寫經(jīng)常會(huì)讓我們在注冊網(wǎng)站時(shí)受困了注冊名的大小寫,出現(xiàn)這個(gè)問題的原因是:MySQL在查詢字符串時(shí)是大小寫不敏感的,在編繹MySQL時(shí)一般以ISO-8859字符集作為默認(rèn)的字符集,這個(gè)字符集對MySQL字符串大小寫不敏感,因此在比較過程中中文編碼字符大小寫轉(zhuǎn)換造成了這種MySQL字符串大小寫的問題。

方法一:

解決方法是對于包含中文的字段加上"binary"屬性,使之作為二進(jìn)制比較,例如將"name char(10)"改成"name char(10)binary"。

方法二:

如果你使用源碼編譯MySQL,可以編譯MySQL時(shí)使用--with--charset=gbk 參數(shù),這樣MySQL就會(huì)直接支持中文查找和排序了。

方法三:

可以使用 Mysql 的 locate 函數(shù)來判斷。以上述問題為例,使用方法為:

SELECT * FROM table WHERE locate(field,'李') > 0;

方法四:

把您的Select語句改成這樣,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'即可!

方法五:

如果你在Windows下使用已經(jīng)編譯好的MySQL,可以修改My.ini中的字符集選項(xiàng)。

default-character-set = gb2312

如果是自己的服務(wù)器使用win系統(tǒng),方法五是最好的方法!如果是linux系統(tǒng),可以使用方法二!如果不是自己的機(jī)子,可以使用方法一,這樣你的用戶名是嚴(yán)格區(qū)分大小寫的!

本文最后更新于 2023-3-16 14:58,某些文章具有時(shí)效性,若有錯(cuò)誤或已失效,請?jiān)诰W(wǎng)站留言或聯(lián)系站長:17tui@17tui.com
·END·
站長網(wǎng)微信號(hào):w17tui,關(guān)注站長、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營銷服務(wù)中心

免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系我們及時(shí)修正或刪除。謝謝!

17站長網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級,為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!

掃一掃,關(guān)注站長網(wǎng)微信

大家都在看

    熱門排行

      最近更新

        返回頂部
        亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际
        www国产精品av| 欧美性色综合网| 欧美一级日韩一级| 日本在线不卡一区| 精品1区2区在线观看| 久久综合九色综合欧美98| 国产.欧美.日韩| 亚洲精品一线二线三线无人区| 国产亚洲一区二区三区在线观看| 一区二区三区国产精品| 91久久精品日日躁夜夜躁欧美| 欧美精品一区二区三区四区 | 欧美日韩午夜在线视频| 亚洲精品国产高清久久伦理二区 | 成a人片国产精品| 国产又黄又大久久| 五月激情综合婷婷| 波波电影院一区二区三区| 欧美亚洲国产bt| 日韩精品成人一区二区三区| 亚洲精品在线网站| 色综合久久精品| 九色综合狠狠综合久久| 综合久久给合久久狠狠狠97色| 亚洲综合视频在线观看| 亚洲一区成人在线| 精品乱码亚洲一区二区不卡| av午夜精品一区二区三区| 偷拍与自拍一区| 中文字幕在线不卡一区 | 欧美xxxxxxxx| 91久久人澡人人添人人爽欧美| 久久91精品久久久久久秒播| 亚洲日本va午夜在线影院| 欧美成人女星排行榜| 欧美视频一区二| 91丨国产丨九色丨pron| 国产综合色在线| 日韩激情一二三区| 亚洲影视在线播放| 亚洲欧洲性图库| 久久久国际精品| 精品日韩成人av| 日韩一级免费一区| 欧美精品一卡两卡| 欧美性色黄大片| 在线免费观看视频一区| 精品一区二区三区在线观看国产| 午夜av一区二区| 日本道色综合久久| 亚洲欧美日韩在线播放| 亚洲一区二区三区四区五区黄| 国产精品入口麻豆九色| 综合中文字幕亚洲| 国产精品国产三级国产三级人妇 | 国产一区二区剧情av在线| 中文字幕一区二区三区乱码在线 | 国产女人18毛片水真多成人如厕 | 首页综合国产亚洲丝袜| 亚洲精品自拍动漫在线| 亚洲欧美一区二区久久| 综合久久综合久久| 亚洲免费在线观看| 亚洲一区在线视频| 午夜精品爽啪视频| 日本va欧美va瓶| 另类小说一区二区三区| 国产一区二区三区视频在线播放| 国产麻豆日韩欧美久久| 国产不卡视频一区| 成人精品国产一区二区4080| 99久久久国产精品| 欧美日韩国产一区二区三区地区| 欧美日韩高清影院| 日韩一区国产二区欧美三区| 精品成人私密视频| 久久精品免费看| 精品一区二区三区在线观看| 午夜精品福利在线| 欧美日本一区二区在线观看| 性感美女久久精品| 一区二区三区在线影院| a在线播放不卡| 欧美亚州韩日在线看免费版国语版| 久久99国产精品麻豆| 91国内精品野花午夜精品| 亚洲精品在线电影| 蜜桃av一区二区三区| 欧美在线观看一区二区| 亚洲成人自拍偷拍| 国产在线视频一区二区三区| 国产高清亚洲一区| 在线影视一区二区三区| 欧美成人a∨高清免费观看| 国产精品久久777777| 亚洲妇女屁股眼交7| 亚洲国产一区二区视频| 91视频91自| 精品精品欲导航| 夜夜夜精品看看| 国产精品夜夜嗨| 4438x成人网最大色成网站| 久久久久久久久久久99999| 亚洲亚洲人成综合网络| 国产在线视频一区二区三区| 91精品国产免费| 亚洲欧美偷拍三级| 99v久久综合狠狠综合久久| 欧美极品少妇xxxxⅹ高跟鞋| 婷婷综合另类小说色区| 欧美视频在线播放| 蜜桃视频一区二区| 日韩美女视频一区| 亚洲精品成人悠悠色影视| 中文一区在线播放| 青青青爽久久午夜综合久久午夜| 久久综合久久99| 日韩欧美国产成人一区二区| 欧美性色黄大片| 91麻豆精品国产91久久久 | 国产精品狼人久久影院观看方式| 欧美日本一区二区在线观看| 天堂一区二区在线免费观看| 一本大道av伊人久久综合| 午夜电影网亚洲视频| 精品国产一区二区亚洲人成毛片 | 中文字幕第一区| 这里只有精品99re| 久久综合成人精品亚洲另类欧美| 午夜在线成人av| 欧美日韩卡一卡二| 成人av资源在线观看| 91一区在线观看| 欧美亚洲国产一区二区三区| 国产成人精品免费看| 亚洲欧美综合网| 精品精品欲导航| 国产主播一区二区| 亚洲一区二区三区三| 亚洲欧美视频一区| 日本韩国欧美一区| 亚洲人成精品久久久久| 日韩电影在线观看电影| 亚洲欧美日韩中文字幕一区二区三区| 国产精品一区二区三区网站| 欧美精品一区二区久久婷婷| 欧美亚洲一区三区| 国产精品水嫩水嫩| av影院午夜一区| 亚洲一区二区偷拍精品| 日本一区二区免费在线观看视频 | 国产色产综合色产在线视频| 欧美裸体一区二区三区| 91精品免费观看| 色综合天天视频在线观看| 7777精品伊人久久久大香线蕉 | ...xxx性欧美| www.亚洲在线| 亚洲欧美日韩中文播放| 在线免费观看日本一区| 国产精品久久久久久久蜜臀| 从欧美一区二区三区| 欧美一级片在线| 久久夜色精品国产噜噜av| 欧美日韩一区高清| 精品国产伦一区二区三区观看体验 | 一区二区三区四区亚洲| 亚洲女同ⅹxx女同tv| 国产午夜精品美女毛片视频| 欧美日韩在线观看一区二区 | 欧美综合久久久| 在线免费观看一区| 亚洲精品一区在线观看| 在线精品观看国产| 五月天一区二区| 国产高清精品在线| 91福利视频在线| 中文一区二区完整视频在线观看| 亚洲一区国产视频| 欧洲精品一区二区| 日本高清视频一区二区| 亚洲男人的天堂一区二区| 一本色道久久综合狠狠躁的推荐| 国内精品嫩模私拍在线| 亚洲国产视频直播| 中文字幕精品综合| 精品成a人在线观看| 欧美精品久久久久久久多人混战| 免费观看在线色综合| 国产亚洲欧洲997久久综合| 国产主播一区二区| 欧美一级欧美一级在线播放| 亚洲国产另类av| 国产成人在线观看| 精品美女在线播放| 日本欧美肥老太交大片| 北条麻妃国产九九精品视频| 亚洲日本va在线观看| 91精品国产综合久久久蜜臀图片| 久久精品国产一区二区|