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


猜你喜欢
- 在asp中利用excel的一个方法是将excel文件作为一个数据库进行链接,然后的操作和对access数据库操作类似。但是这个方法不是总能有
- 本文实例讲述了Django框架首页和登录页分离操作。分享给大家供大家参考,具体如下:1.登录模板login.html<!DOCTYPE
- PIL(Python Imaging Library)是Python中一个强大的图像处理库,但目前其只支持到Python2.7pillow是
- 学习目的 学会SQL中的占位符用法 在鲸鱼这几天忙死了,好几天没写了,真对不起各位。这几天让XHTML闹得不开心,虽然以前也知道这个,但没太
- 项目中大量用到图片加载,由于图片太大,加载速度很慢,因此需要对文件进行统一压缩第一种 一:安装包python -m pip ins
- 1、 二叉树的构建我们都知道二叉搜索树的特点是:当前节点的值大于它的左子树的值,小于等于右子树的值。所以我们这里可以通过迭代的方式构建二叉搜
- 完成了UI,我们就需要对数据进行处理了。在开始“数据”的本地存储之前,我们先来了解一下client-side database storag
- 一个日历控件,这是官方说明,,供大家参考,具体内容如下首先引入css样式<!--引入bootstrap 和bootstrap-date
- 要使用request对象的ServerVariables属性,通过它来获得环境变量的值。使用的语法为:Request.ServerVaria
- 废话不多说了,直接给大家贴js代码了,具体代码如下所示:<!DOCTYPE html><html><head&
- 本文实例讲述了Python基于checksum计算文件是否相同的方法。分享给大家供大家参考。具体如下:假设有2个二进制文件(0.bin, 1
- 很多朋友说JavaScript的decodeURI函数也可以实现,但有bug所有呢,下面看下下面的函数,经过测试使用暂时没什么问题,我在之前
- python类私有属性和公共属性对于python而言,类的属性的可见度只有两种,public和private。类的私有属性便是在前面加上&a
- 1、二维数组取值注:不管是二维数组,还是一维数组,数组里的数据类型要一模一样,即若是数值型,全为数值型#二维数组import numpy a
- 本文实例讲述了原生JS实现Ajax通过GET方式与PHP进行交互操作。分享给大家供大家参考,具体如下:一、代码conn.php<?ph
- 1、现象系统提示找不到指定的文件:Error running 'hello': Cannot run program &qu
- 在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改:s = Student()s.sco
- 函数原型:getopt.getopt(args, shortopts, longopts=[])参数解释:  
- 前言:我们的vue代码打包上传到服务器之后,要是数据接口 以后换了域名什么的,是不是需要重新去vue文件里修改接口。能不能生成一个配置文件,
- 本文是基于opencv将视频和动态图gif保存为图像帧。可以根据输入视频格式的不同,修改第21行。 &nb