加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite3 数据去重与通配符

发布时间:2020-12-12 19:21:02 所属栏目:百科 来源:网络整理
导读:背景 使用sqlite3的命令实现数据去重,与无效数据删除等操作。所有操作均封装在shell script中。 创建数据库 邮件数据库:UserEmail.db Email表:TABLE_EMAIL #!/bin/bash sqlite3 UserEmail.db "CREATE TABLE TABLE_EMAIL ( ID INTEGER PRIMARY KEY AUTOINC

背景

使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读