memcache 数据类型(orm怎样删除重复项)

Peewee是一个简单小巧的Python ORM,它非常容易学习,并且使用起来很直观,我来为大家讲解一下关于memcache 数据类型?跟着小编一起来看一看吧!

memcache 数据类型(orm怎样删除重复项)

memcache 数据类型

Peewee是一个简单小巧的Python ORM,它非常容易学习,并且使用起来很直观。

这是官方文档,中文的:peewee — peewee 3.14.4 文档

今天重点讲一下怎么删除数据库重复项的问题。

假如你有一个表格,里面有一列数据“身份证号”,但是,由于某些原因,有些身份证号是重复的,我们需要删除身份证号重复的、多余的条目。网上找了很久都没有结果(官方文档仅给出了一个使用 .distinct()方法查询出不同数据的例子)。但是,怎么实际删除数据库中的重复行呢?可以这样操作:

思路:先查询出身份证号不重复的列,导出这些行的id,到一个ids列表中;然后,把id不在列表中的行删除。

代码如下:

from peewee import SqliteDatabase

from playhouse.reflection import generate_models

db = SqliteDatabase('d:/biaoge.db')

#自省数据库并为找到的所有表生成模型类,节省大量定义数据库的录入!!!超赞的功能!

models = generate_models(db)

#将模型注入全局命名空间,后面可以直接操作了。已经自动识别出表名是xxb

globals().update(models)

#依身份证号查询出不重复的行

query =xxb.select().group_by(xxb.身份证号).distinct()

#准备ids列表

ids=[]

#对不重复的行,生成迭代器querys

querys=iter(query)

#将不重复的身份证号放入ids列表中

for qu in querys:

ids.append(qu.id)

#删除不重复的行:对不在ids表中的行,依id删除,秒删!

xxb.delete().where(xxb.id.not_in(ids)).execute()

是不是很简单!如有疑问,欢迎私信联系我,手握一大把使用技巧[微笑]。

当然了,也可以将数据库导出到csv文件,再导入excel表格,进行删除重复项的处理。然后再导入数据库。但是这种操作太麻烦了,操作时间也比较长。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页