【DB】sqlite3 数据去重与通配符

背景

使用sqlite3的命令实现数据去重,与无效数据删除等操作。所有操作均封装在shell script中。

创建数据库

邮件数据库:UserEmail.db
Email表:TABLE_EMAIL

#!/bin/bash
sqlite3 UserEmail.db "CREATE TABLE TABLE_EMAIL (
                    ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                    EMAIL                CAHR(30)        NOT NULL
                )";

显示TABLE_EMAIL数据表中的内容

#!/bin/bash
sqlite3 UserEmail.db ".headers on" ".mode columns" "select * from TABLE_EMAIL";

假设原始数据如下
这里写图片描述
显然有重复的数据,现在来删除重复数据

删除表中重复数据

#!/bin/bash
sqlite3 UserEmail.db "DELETE FROM TABLE_EMAIL WHERE rowid NOT IN(SELECT MAX(rowid) rowid FROM TABLE_EMAIL GROUP BY EMAIL)";

去重后,表数据如下
这里写图片描述
可以发现重复的数据已经只剩下一条了,接下来做email地址有效性检测。

通配符

假设以字符test开头的Email地址不合法,现用通配符删除。

#!/bin/bash
sqlite3 UserEmail.db "DELETE FROM TABLE_EMAIL WHERE EMAIL LIKE 'test%'";

删除非法email地址后的email表数据如下
这里写图片描述
时间:2017年7月1日00:23:35


参考资料

[1] http://www.runoob.com/sqlite/sqlite-tutorial.html

(全文完)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值