数据处理-----MySql
2015-05-30 11:33
721 查看
接上文的爬虫,经过一个下午的时间爬到了近80万的电影下载链接,当时这个数字也吓到我了。
但是当我将这些数据存入数据库时发现,有很多是重复的或者下载链接是错误。今天的工作就是将这些无用的删除。
原本80万的数据只剩6000条。
但是MySQL不能在一张表select的时候delete,所以还是需要新开一张表。
方法如下:
但是当我将这些数据存入数据库时发现,有很多是重复的或者下载链接是错误。今天的工作就是将这些无用的删除。
MySQL删除重复数据
我使用了最笨的办法,就是新建了另一张与旧表相同的新表,将唯一的数据插入新表中。简单粗暴。方法如下:INSERT INTO movie (title, downlodeUrl) SELECT DISTINCT title,downlodeUrl FROM movies [2015-05-30 10:24:30] 6142 row(s) affected in 20622 ms
原本80万的数据只剩6000条。
MySQL删除无效数据
无效数据就是下载链接不正确的。我发现在sql语句也有正则表达式的功能,所以直接用SQL语句执行了。但是MySQL不能在一张表select的时候delete,所以还是需要新开一张表。
方法如下:
//获取开头是http的数据,并创建新表加入其中 CREATE TABLE test AS SELECT downlodeUrl FROM movie WHERE downlodeUrl REGEXP '^http\:\/\/.+$' //删除符合的条目 DELETE FROM movie WHERE downlodeUrl in ( SELECT downlodeUrl FROM test ) //将临时创建的表删除 DROP TABLE test
结果
最后只剩下了3000条数据。相关文章推荐
- MySQL相关查询和操作
- mysql常用命令总结
- mysql数据库引擎更换
- mysql之count,max,min,sum,avg,celing,floor
- MySQL中删除重复数据的简单方法
- MySQL中无GROUP BY情况下直接使用HAVING语句的问题探究
- 基于MySQL认证的邮件系统
- 数据库mysql乱码问题
- Windows系统下设置mysql的根用户密码及添加新用户的操作
- mysql之创建数据库,创建数据表
- MySQL命令输入错误 取消命令
- mysql之group by,order by
- 探究MySQL中varchar的定义长度
- Host is not allowed to connect to this MySQL server 错误的处理方法
- visualstdudio 2013 MVC MySql为数据库。
- mysql 数据库更改引擎
- Windows 7系统安装MySQL5.5.21图解
- MySQL中删除重复数据的简单方法
- 在MySQL中实现二分查找的详细教程
- 在MySQL中使用STRAIGHT_JOIN的教程