欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql 中文排序規(guī)則說明

 更新時間:2021年02月04日 08:36:09   投稿:jingxian  
這篇文章主要介紹了Mysql 中文排序規(guī)則說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

使用MySQL過程中,我們經(jīng)常會對一個字段進行排序查詢,我們一般都是想要按照中文拼音首字母進行依次排序,但mysql中進行中文排序的時候,對漢字的排序結果往往都是錯誤的。

這種情況在MySQL的很多版本中都存在。

如果這個問題不解決,那么MySQL將無法實際處理中文。

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

查了資料有兩種解決方法:

1.對于包含中文的字段加上”binary”屬性,使之作為二進制比較,例如將”name varchar(10)”改成”name varchar(10)binary”。

2. 如果不想對表結構進行修改或者重新編譯MySQL,也可以在查詢語句的 order by 部分使用 CONVERT 函數(shù)。

比如 name字段為中文,需要按其排序,則可以寫select * from mytable order by CONVERT(name USING gbk);

補充:mysql數(shù)據(jù)庫默認排序問題

1、mysql官方回答:

SELECT * FROM tbl -- this will do a "table scan". If the table has never had any DELETEs/REPLACEs/UPDATEs, the records will happen to be in the insertion order, hence what you observed.

大致意思為,一個myisam引擎表在沒有任何的刪除,修改操作下,執(zhí)行 select 不帶order by,那么會按照插入順序進行排序。

If you had done the same statement with an InnoDB table, they would have been delivered in PRIMARY KEY order, not INSERT order. Again, this is an artifact of the underlying implementation, not something to depend on.

對于innodb引擎表來說,在相同的情況下,select 不帶order by,會根據(jù)主鍵來排序,從小到大

2、查看數(shù)據(jù)庫引擎命令:

(1)查看某個表使用的引擎

show create table ;

(2)查看mysql支持哪些引擎

show engines;

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

  • mysql5.7.18安裝時mysql服務啟動失敗的解決方法

    mysql5.7.18安裝時mysql服務啟動失敗的解決方法

    這篇文章主要為大家詳細介紹了mysql5.7.18安裝時mysql服務啟動失敗的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • MySQL慢查詢中的commit慢和binlog中慢事務的區(qū)別

    MySQL慢查詢中的commit慢和binlog中慢事務的區(qū)別

    這篇文章主要介紹了MySQL慢查詢中的commit慢和binlog中慢事務的差異,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • MySQL的常見存儲引擎介紹與參數(shù)設置調優(yōu)

    MySQL的常見存儲引擎介紹與參數(shù)設置調優(yōu)

    這篇文章主要介紹了MySQL的常見存儲引擎介紹與參數(shù)設置調優(yōu),需要的朋友可以參考下
    2018-03-03
  • MySQL之Explain詳解

    MySQL之Explain詳解

    使用Explain關鍵字可以模擬優(yōu)化器執(zhí)行SQL語句,分析你的查詢語句或是結構的性能瓶頸,感興趣的的同學可以參考閱讀
    2023-04-04
  • Mysql中MyISAM和InnoDB的區(qū)別及說明

    Mysql中MyISAM和InnoDB的區(qū)別及說明

    這篇文章主要介紹了Mysql中MyISAM和InnoDB的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Mysql行轉列把逗號分隔的字段拆分成多行兩種方法

    Mysql行轉列把逗號分隔的字段拆分成多行兩種方法

    在數(shù)據(jù)庫中有時候我們需要將一些行數(shù)據(jù)轉換為列數(shù)據(jù),這在處理數(shù)據(jù)透視表、報表生成等場景下非常常見,這篇文章主要給大家介紹了關于Mysql行轉列把逗號分隔的字段拆分成多行的兩種方法,需要的朋友可以參考下
    2024-05-05
  • MySQL安裝過程報starting?the?server報錯詳細解決方案(附MySQL安裝程序)

    MySQL安裝過程報starting?the?server報錯詳細解決方案(附MySQL安裝程序)

    如果電腦是第一次安裝MySQL,一般不會出現(xiàn)這樣的報錯,starting the server失敗通常是因為上次安裝的該軟件未清除干凈,這篇文章主要給大家介紹了關于MySQL安裝過程報starting?the?server報錯的詳細解決方案,文中還附MySQL安裝程序,需要的朋友可以參考下
    2024-03-03
  • MySQL中的ibdata1用法解讀

    MySQL中的ibdata1用法解讀

    這篇文章主要介紹了MySQL中的ibdata1用法解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • MySQL?數(shù)據(jù)類型及最優(yōu)選取規(guī)則

    MySQL?數(shù)據(jù)類型及最優(yōu)選取規(guī)則

    這篇文章主要介紹了MySQL?數(shù)據(jù)類型及最優(yōu)選取規(guī)則,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的學習有所幫助
    2022-08-08
  • Mysql如何優(yōu)化查詢速度

    Mysql如何優(yōu)化查詢速度

    這篇文章主要介紹了Mysql如何優(yōu)化查詢速度問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論