linux中修改mysql排序规则_MySQL中的排序规则
MySQL中的排序規(guī)則。在新建MySQL數(shù)據(jù)庫(kù)或表的時(shí)候經(jīng)常會(huì)選擇字符集和排序規(guī)則。數(shù)據(jù)庫(kù)用的字符集大家都知道是怎么回事,那排序規(guī)則是什么呢?
排序規(guī)則:是指對(duì)指定字符集下不同字符的比較規(guī)則。其特征有以下幾點(diǎn):
1、 兩個(gè)不同的字符集不能有相同的排序規(guī)則
2、 兩個(gè)字符集有一個(gè)默認(rèn)的排序規(guī)則
3、 有一些常用的命名規(guī)則。如_ci結(jié)尾表示大小寫不敏感(caseinsensitive),_cs表示大小寫敏感(case sensitive),_bin表示二進(jìn)制的比較(binary).
在MySQL數(shù)據(jù)庫(kù)中,可以使用show collation來(lái)查看支持的各種排序呢規(guī)則
utf8_general_ci 不區(qū)分大小寫,這個(gè)你在注冊(cè)用戶名和郵箱的時(shí)候就要使用。
utf8_general_cs 區(qū)分大小寫,如果用戶名和郵箱用這個(gè) 就會(huì)造成不良后果
utf8_bin:字符串每個(gè)字符串用二進(jìn)制數(shù)據(jù)編譯存儲(chǔ)。 區(qū)分大小寫,而且可以存二進(jìn)制的內(nèi)容
utf8_general_ci校對(duì)速度快,但準(zhǔn)確度稍差。
utf8_unicode_ci準(zhǔn)確度高,但校對(duì)速度稍慢。
為了易于數(shù)據(jù)擴(kuò)展,一般我們創(chuàng)建數(shù)據(jù)庫(kù)都會(huì)選擇utf8字符集,那么utf8字符集的默認(rèn)排序規(guī)則是什么呢?我們可以通過(guò)“show charset like 'utf8%' ”進(jìn)行查看。
Utf8的默認(rèn)排序規(guī)則是“utf8_general_ci”,上文已經(jīng)說(shuō)了以“_ci”結(jié)尾的表示大小寫不敏感,我們可以來(lái)測(cè)試一下。
use test;
drop table if EXISTS test;
create table test(
a varchar(1) not null
)COLLATE utf8_general_ci;
insert into test select 'a';
insert into test select 'A';
select * from test where a ='a';
通過(guò)運(yùn)行結(jié)果可以看到,使用這種排序規(guī)則確實(shí)是不區(qū)分大小寫的。
大小寫敏感的需求還是要是應(yīng)用程序的需求而定的。
總結(jié)
以上是生活随笔為你收集整理的linux中修改mysql排序规则_MySQL中的排序规则的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 提取网页文字-免费批量自动提取网页文字软
- 下一篇: Java Elasticsearch创建