IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫MYSQL → mysql中從字段中URL提取域名信息

mysql中從字段中URL提取域名信息

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)

如果你有一字段dm記錄了一個url,為了更好的優(yōu)化模糊查詢速度或統(tǒng)計速度,在數(shù)據(jù)表原有的結(jié)構(gòu)上增加3個字段,分別為

? `sdm` varchar(64) NOT NULL,?? #subdomain記錄子域名,如:123456.user.qzone.qq.com
? `tdm` varchar(32) NOT NULL,??? #topdomain記錄一級域名,如:qq.com
? `rdm` varchar(8) NOT NULL,????? #rootdomain記錄根域,如:com

操作順序

# 1、為表增加字段
ALTER TABLE `tablename` ADD `sdm` varchar(64) NOT NULL, ADD `tdm` varchar(32) NOT NULL, ADD `rdm` varchar(8) NOT NULL;

# 2、提取url中的域名信息

UPDATE `tablename` SET `sdm`=SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(`dm`, '/', 3), '/', -1) ,':',1);

# 3、提取域名中的根域
UPDATE `tablename` SET `rdm`=(IF(`sdm` REGEXP '(com|tel|mobi|net|org|asia|me|tv|biz|cc|name|info)(\\.[a-zA-Z]{2})$', SUBSTRING_INDEX(`sdm`, '.', -2), IF(`sdm` REGEXP '([a-zA-Z]{2,4})$', SUBSTRING_INDEX(`sdm`, '.', -1), '')));

# 4、根據(jù)子域名和根域取一級域名

UPDATE `tablename` SET `tdm`=CONCAT(SUBSTRING_INDEX(TRIM(TRAILING `rdm` FROM `sdm`), '.', -2), `rdm`) ;

執(zhí)行結(jié)果:
影響的數(shù)據(jù)欄: 126978
時間: 7.172ms

關(guān)鍵詞標(biāo)簽:mysql

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Xbox Game Pass Xbox Game Pass 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦 MySQL常用維護管理工具 MySQL常用維護管理工具 MySQL數(shù)據(jù)庫啟動失敗1067進程意外終止的解決辦法總結(jié) MySQL數(shù)據(jù)庫啟動失敗1067進程意外終止的解決辦法總結(jié)

相關(guān)下載

    人氣排行 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦 MySQL數(shù)據(jù)庫啟動失敗1067進程意外終止的解決辦法總結(jié) Mysql 1045錯誤解決辦法 MySQL服務(wù)器進程CPU占用100%解決辦法 MySQL導(dǎo)出導(dǎo)入命令的用例 MySQL連接字符串的實際操作步驟匯總 MySQL無法啟動、無法停止各種解決方法總結(jié) 三種常用的MySQL建表語句