sqlite3 数据去重与通配符

前端之家收集整理的这篇文章主要介绍了sqlite3 数据去重与通配符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

背景

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

创建数据库

#!/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

原文链接:https://www.f2er.com/sqlite/198360.html

猜你在找的Sqlite相关文章