首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 查詢漢字拼音首字母:建立拼音對照表實現中文排序與分組

     編輯:MySQL 綜合教學

前言

MySQL 無內建漢字轉拼音功能。本文提供「建立拼音首字母對照表 + 區間查詢」的完整方案,實現漢字標題按拼音首字母分組排序,適用於目錄導航、通訊錄分組等場景。

方案核心邏輯

  1. 建立 pinyin 表,儲存 26 個字母對應的漢字編碼區間(起始漢字 HZ1、結束漢字 HZ2)。
  2. 查詢時,將目標漢字欄位與區間比對,取得對應首字母。

步驟 1:建立拼音對照表

DROP TABLE IF EXISTS `pinyin`;
CREATE TABLE `pinyin` (
  `PY` VARCHAR(1),
  `HZ1` VARCHAR(1),
  `HZ2` VARCHAR(1)
);

INSERT INTO `pinyin` (`PY`,`HZ1`,`HZ2`) VALUES
('A','吖','驁'), ('B','八','簿'), ('C','嚓','錯'), ('D','咑','鵽'),
('E','妸','樲'), ('F','發','鰒'), ('G','猤','腂'), ('H','妎','夻'),
('J','丌','攈'), ('K','咔','穒'), ('L','垃','鱳'), ('M','嘸','旀'),
('N','丆','桛'), ('O','噢','漚'), ('P','妑','曝'), ('Q','七','囕'),
('R','呥','鶸'), ('S','仨','蜶'), ('T','他','籜'), ('W','屲','鶩'),
('X','夕','鑂'), ('Y','丫','韻'), ('Z','帀','咗');

驗證: 執行後檢查是否有 ? 號,若有表示資料庫編碼不支援該漢字,需調整字符集。

步驟 2:查詢資料表漢字首字拼音

SELECT `pinyin`.`PY`, `目標表`.*
FROM `目標表`, `pinyin`
WHERE `漢字標題欄位` >= `pinyin`.`HZ1`
  AND `漢字標題欄位` <= `pinyin`.`HZ2`;

輸出範例

PY  漢字標題
Z   招聘
Z   專題
W   網站介紹
W   問吧
S   搜索
L   聯系方式
L   論壇
H   會員
G   關於我們
B   版權聲明
B   百科

單一漢字查詢首字母

SELECT `pinyin`.`PY`
FROM `pinyin`
WHERE '漢字' >= `HZ1` AND '漢字' <= `HZ2`;

結果:H(以「漢」字為例)。

適用條件與限制

  • 資料庫字符集需支援對照表中的漢字(建議 utf8mb4)。
  • 基於字符編碼順序而非真實拼音規則,極少數多音字或生僻字可能歸類偏差。
  • 僅支援首字母,不支援完整拼音排序。
  • 效能極佳:對照表僅 26 列,JOIN 成本極低。

相關延伸閱讀

  • MySQL 表鎖情況與檔案開啟數
  • 查看 MySQL 伺服器的進程
  • MySQL 慢查詢啟用方法
  • MySQL 多表查詢實現
  • MySQL 函數無法建立的解決方法
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved