作者:鐘彦璋864175 | 来源:互联网 | 2023-09-18 22:05
背景使用sqlite3的命令实现数据去重,与无效数据删除等操作。所有操作均封装在shellscript中。创建数据库邮件数据库:UserEmail.dbEmail表:TABLE_EM
背景
使用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