遍历sqlite数据库文件,查找某一字段值

import sqlite3

def foundValueInTable(v,tname,con):

    sqlstr =  "select * from "+ tname + ";"

    cur = con.cursor()

    cur.execute(sqlstr)

    rows = cur.fetchall()

    bfound=False

    for row in rows:

        for colval in row:

            if((colval)==v):

                bfound=True

                print(row)

                break

    if(bfound==True):

        print("\nFound in TableName: "+tname+"\n\n")

    cur.close()

def foundValueInTable_fuzzy(varg,tname,con):

    v=str(varg).lower()

    sqlstr =  "select * from "+ tname + ";"

    cur = con.cursor()

    cur.execute(sqlstr)

    rows = cur.fetchall()

    bfound=False

    for row in rows:

        for colval in row:

            colvalstr = str(colval).lower()

            if(v in colvalstr):

                bfound=True

                print(row)

                break

    if(bfound==True):

        print("\nFound in TableName: "+tname+"\n\n")

    cur.close()

def foundValueInTables(v,dbname,fuzzy=False):

    con = sqlite3.connect(dbname)

    cur = con.cursor()

    cur.execute("select name,type,tbl_name from sqlite_master where type='table'")

    rows = cur.fetchall()

    tableNames=[row[0] for row in rows]

    cur.close()

    if fuzzy:

        for name in tableNames:

            foundValueInTable_fuzzy(v, name,con)

    else:

        for name in tableNames:

            foundValueInTable(v, name,con)

    con.close()

if __name__ == '__main__':

    foundValueInTables('Category','d:/n1.db',True)

    print('found in tables end')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值