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

来源:asp之家 时间:2009-05-25 10:35:00 

如果你有一字段dm记录了一个url,为了更好的优化模糊查询速度或统计速度,在数据表原有的结构上增加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、根据子域名和根域取一级域名

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

执行结果:
影响的数据栏: 126978
时间: 7.172ms

标签:mysql,URL,域名信息
0
投稿

猜你喜欢

  • 什么是Ajax及Ajax的优势

    2007-09-07 09:56:00
  • 教你用压缩技术给SQL Server备份文件瘦身

    2009-03-05 14:59:00
  • MySQL (root@%) does not exist的问题

    2011-03-16 15:31:00
  • 使用MyISAM表和InnoDB的一些记录

    2009-12-20 18:21:00
  • CSS Sprites 样式生成工具 2.0下载

    2009-05-13 12:41:00
  • SQL Server 2005 输入框不能输入中文问题

    2010-02-04 09:14:00
  • 网友分享:Oracle数据库开发技术经验浅谈

    2009-04-22 13:11:00
  • 三达不溜:www

    2009-03-28 11:44:00
  • SQLServer 2008助你轻松编写T-SQL存储过程

    2010-12-06 13:38:00
  • Tag的自定义类

    2010-03-18 15:53:00
  • 得到元素真实的背景颜色的函数

    2008-05-20 12:04:00
  • Instr函数与InstrRev函数的区别

    2008-07-07 16:53:00
  • SQL Server 查询分析器快捷键集合

    2007-08-17 09:42:00
  • 由黄钻等级图标处理引发的思考

    2009-11-16 12:37:00
  • Javascript:keyCode键盘键码值表

    2008-02-21 13:16:00
  • RC4经典加密算法asp/VBs版本代码

    2008-02-17 17:32:00
  • ASP实现全站的301跳转

    2010-03-27 21:45:00
  • 超越质检员——看图购beta版的思考

    2009-04-15 12:11:00
  • 网页版面布局的方法及技巧

    2007-10-29 12:41:00
  • 两段不错的JS文字特效

    2007-09-27 12:52:00
  • asp之家 网络编程 m.aspxhome.com