mysql 拼音查询_mysql实现用拼音搜索中文的数据库实现
1、創(chuàng)建表:
CREATE?TABLE
IF?NOT?EXISTS?`t_base_pinyin`?(
`pin_yin_`?VARCHAR?(255)?CHARACTER
SET?gbk?NOT?NULL,
`code_`?INT?(11)?NOT?NULL,
PRIMARY?KEY?(`code_`)
)?ENGINE?=?INNODB?DEFAULT?CHARSET?=?latin1;
2、插入數(shù)據(jù):
INSERT?INTO?t_base_pinyin?(pin_yin_,?code_)
VALUES
("a",?20319),
("ai",?20317),
("an",?20304),
("ang",?20295),
("ao",?20292),
("ba",?20283),
("bai",?20265),
("ban",?20257),
("bang",?20242),
("bao",?20230),
("bei",?20051),
("ben",?20036),
("beng",?20032),
("bi",?20026),
("bian",?20002),
("biao",?19990),
("bie",?19986),
("bin",?19982),
("bing",?19976),
("bo",?19805),
("bu",?19784),
("ca",?19775),
("cai",?19774),
("can",?19763),
("cang",?19756),
("cao",?19751),
("ce",?19746),
("ceng",?19741),
("cha",?19739),
("chai",?19728),
("chan",?19725),
("chang",?19715),
("chao",?19540),
("che",?19531),
("chen",?19525),
("cheng",?19515),
("chi",?19500),
("chong",?19484),
("chou",?19479),
("chu",?19467),
("chuai",?19289),
("chuan",?19288),
("chuang",?19281),
("chui",?19275),
("chun",?19270),
("chuo",?19263),
("ci",?19261),
("cong",?19249),
("cou",?19243),
("cu",?19242),
("cuan",?19238),
("cui",?19235),
("cun",?19227),
("cuo",?19224),
("da",?19218),
("dai",?19212),
("dan",?19038),
("dang",?19023),
("dao",?19018),
("de",?19006),
("deng",?19003),
("di",?18996),
("dian",?18977),
("diao",?18961),
("die",?18952),
("ding",?18783),
("diu",?18774),
("dong",?18773),
("dou",?18763),
("du",?18756),
("duan",?18741),
("dui",?18735),
("dun",?18731),
("duo",?18722),
("e",?18710),
("en",?18697),
("er",?18696),
("fa",?18526),
("fan",?18518),
("fang",?18501),
("fei",?18490),
("fen",?18478),
("feng",?18463),
("fo",?18448),
("fou",?18447),
("fu",?18446),
("ga",?18239),
("gai",?18237),
("gan",?18231),
("gang",?18220),
("gao",?18211),
("ge",?18201),
("gei",?18184),
("gen",?18183),
("geng",?18181),
("gong",?18012),
("gou",?17997),
("gu",?17988),
("gua",?17970),
("guai",?17964),
("guan",?17961),
("guang",?17950),
("gui",?17947),
("gun",?17931),
("guo",?17928),
("ha",?17922),
("hai",?17759),
("han",?17752),
("hang",?17733),
("hao",?17730),
("he",?17721),
("hei",?17703),
("hen",?17701),
("heng",?17697),
("hong",?17692),
("hou",?17683),
("hu",?17676),
("hua",?17496),
("huai",?17487),
("huan",?17482),
("huang",?17468),
("hui",?17454),
("hun",?17433),
("huo",?17427),
("ji",?17417),
("jia",?17202),
("jian",?17185),
("jiang",?16983),
("jiao",?16970),
("jie",?16942),
("jin",?16915),
("jing",?16733),
("jiong",?16708),
("jiu",?16706),
("ju",?16689),
("juan",?16664),
("jue",?16657),
("jun",?16647),
("ka",?16474),
("kai",?16470),
("kan",?16465),
("kang",?16459),
("kao",?16452),
("ke",?16448),
("ken",?16433),
("keng",?16429),
("kong",?16427),
("kou",?16423),
("ku",?16419),
("kua",?16412),
("kuai",?16407),
("kuan",?16403),
("kuang",?16401),
("kui",?16393),
("kun",?16220),
("kuo",?16216),
("la",?16212),
("lai",?16205),
("lan",?16202),
("lang",?16187),
("lao",?16180),
("le",?16171),
("lei",?16169),
("leng",?16158),
("li",?16155),
("lia",?15959),
("lian",?15958),
("liang",?15944),
("liao",?15933),
("lie",?15920),
("lin",?15915),
("ling",?15903),
("liu",?15889),
("long",?15878),
("lou",?15707),
("lu",?15701),
("lv",?15681),
("luan",?15667),
("lue",?15661),
("lun",?15659),
("luo",?15652),
("ma",?15640),
("mai",?15631),
("man",?15625),
("mang",?15454),
("mao",?15448),
("me",?15436),
("mei",?15435),
("men",?15419),
("meng",?15416),
("mi",?15408),
("mian",?15394),
("miao",?15385),
("mie",?15377),
("min",?15375),
("ming",?15369),
("miu",?15363),
("mo",?15362),
("mou",?15183),
("mu",?15180),
("na",?15165),
("nai",?15158),
("nan",?15153),
("nang",?15150),
("nao",?15149),
("ne",?15144),
("nei",?15143),
("nen",?15141),
("neng",?15140),
("ni",?15139),
("nian",?15128),
("niang",?15121),
("niao",?15119),
("nie",?15117),
("nin",?15110),
("ning",?15109),
("niu",?14941),
("nong",?14937),
("nu",?14933),
("nv",?14930),
("nuan",?14929),
("nue",?14928),
("nuo",?14926),
("o",?14922),
("ou",?14921),
("pa",?14914),
("pai",?14908),
("pan",?14902),
("pang",?14894),
("pao",?14889),
("pei",?14882),
("pen",?14873),
("peng",?14871),
("pi",?14857),
("pian",?14678),
("piao",?14674),
("pie",?14670),
("pin",?14668),
("ping",?14663),
("po",?14654),
("pu",?14645),
("qi",?14630),
("qia",?14594),
("qian",?14429),
("qiang",?14407),
("qiao",?14399),
("qie",?14384),
("qin",?14379),
("qing",?14368),
("qiong",?14355),
("qiu",?14353),
("qu",?14345),
("quan",?14170),
("que",?14159),
("qun",?14151),
("ran",?14149),
("rang",?14145),
("rao",?14140),
("re",?14137),
("ren",?14135),
("reng",?14125),
("ri",?14123),
("rong",?14122),
("rou",?14112),
("ru",?14109),
("ruan",?14099),
("rui",?14097),
("run",?14094),
("ruo",?14092),
("sa",?14090),
("sai",?14087),
("san",?14083),
("sang",?13917),
("sao",?13914),
("se",?13910),
("sen",?13907),
("seng",?13906),
("sha",?13905),
("shai",?13896),
("shan",?13894),
("shang",?13878),
("shao",?13870),
("she",?13859),
("shen",?13847),
("sheng",?13831),
("shi",?13658),
("shou",?13611),
("shu",?13601),
("shua",?13406),
("shuai",?13404),
("shuan",?13400),
("shuang",?13398),
("shui",?13395),
("shun",?13391),
("shuo",?13387),
("si",?13383),
("song",?13367),
("sou",?13359),
("su",?13356),
("suan",?13343),
("sui",?13340),
("sun",?13329),
("suo",?13326),
("ta",?13318),
("tai",?13147),
("tan",?13138),
("tang",?13120),
("tao",?13107),
("te",?13096),
("teng",?13095),
("ti",?13091),
("tian",?13076),
("tiao",?13068),
("tie",?13063),
("ting",?13060),
("tong",?12888),
("tou",?12875),
("tu",?12871),
("tuan",?12860),
("tui",?12858),
("tun",?12852),
("tuo",?12849),
("wa",?12838),
("wai",?12831),
("wan",?12829),
("wang",?12812),
("wei",?12802),
("wen",?12607),
("weng",?12597),
("wo",?12594),
("wu",?12585),
("xi",?12556),
("xia",?12359),
("xian",?12346),
("xiang",?12320),
("xiao",?12300),
("xie",?12120),
("xin",?12099),
("xing",?12089),
("xiong",?12074),
("xiu",?12067),
("xu",?12058),
("xuan",?12039),
("xue",?11867),
("xun",?11861),
("ya",?11847),
("yan",?11831),
("yang",?11798),
("yao",?11781),
("ye",?11604),
("yi",?11589),
("yin",?11536),
("ying",?11358),
("yo",?11340),
("yong",?11339),
("you",?11324),
("yu",?11303),
("yuan",?11097),
("yue",?11077),
("yun",?11067),
("za",?11055),
("zai",?11052),
("zan",?11045),
("zang",?11041),
("zao",?11038),
("ze",?11024),
("zei",?11020),
("zen",?11019),
("zeng",?11018),
("zha",?11014),
("zhai",?10838),
("zhan",?10832),
("zhang",?10815),
("zhao",?10800),
("zhe",?10790),
("zhen",?10780),
("zheng",?10764),
("zhi",?10587),
("zhong",?10544),
("zhou",?10533),
("zhu",?10519),
("zhua",?10331),
("zhuai",?10329),
("zhuan",?10328),
("zhuang",?10322),
("zhui",?10315),
("zhun",?10309),
("zhuo",?10307),
("zi",?10296),
("zong",?10281),
("zou",?10274),
("zu",?10270),
("zuan",?10262),
("zui",?10260),
("zun",?10256),
("zuo",?10254);
3、創(chuàng)建函數(shù):
DROP?FUNCTION?IF?EXISTS?to_pinyin;
DELIMITER?$
CREATE?FUNCTION?to_pinyin(NAME?VARCHAR(255)?CHARSET?gbk)
RETURNS?VARCHAR(255)?CHARSET?gbk
BEGIN
DECLARE?mycode?INT;
DECLARE?tmp_lcode?VARCHAR(2)?CHARSET?gbk;
DECLARE?lcode?INT;
DECLARE?tmp_rcode?VARCHAR(2)?CHARSET?gbk;
DECLARE?rcode?INT;
DECLARE?mypy?VARCHAR(255)?CHARSET?gbk?DEFAULT?'';
DECLARE?lp?INT;
SET?mycode?=?0;
SET?lp?=?1;
SET?NAME?=?HEX(NAME);
WHILE?lp?
SET?tmp_lcode?=?SUBSTRING(NAME,?lp,?2);
SET?lcode?=?CAST(ASCII(UNHEX(tmp_lcode))?AS?UNSIGNED);
SET?tmp_rcode?=?SUBSTRING(NAME,?lp?+?2,?2);
SET?rcode?=?CAST(ASCII(UNHEX(tmp_rcode))?AS?UNSIGNED);
IF?lcode?>?128?THEN
SET?mycode?=65536?-?lcode?*?256?-?rcode?;
SELECT?CONCAT(mypy,pin_yin_)?INTO?mypy?FROM?t_base_pinyin?WHERE?CODE_?>=?ABS(mycode)?ORDER?BY?CODE_?ASC?LIMIT?1;
SET?lp?=?lp?+?4;
ELSE
SET?mypy?=?CONCAT(mypy,CHAR(CAST(ASCII(UNHEX(SUBSTRING(NAME,?lp,?2)))?AS?UNSIGNED)));
SET?lp?=?lp?+?2;
END?IF;
END?WHILE;
RETURN?LOWER(mypy);
END;
$
DELIMITER?;
4、創(chuàng)建視圖:
CREATE?VIEW?v_pinyin?AS?SELECT
u.id,
to_pinyin?(u.displayname)?AS?pinyin,
u.displayName
FROM
wsm_userinfo?u
總結(jié)
以上是生活随笔為你收集整理的mysql 拼音查询_mysql实现用拼音搜索中文的数据库实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 过桥米线煮多久 完美的过桥米线煮法分享?
- 下一篇: Navicat mysql 加索引_my