python3 sqlite3限制条件查询的操作
程序员文章站
2022-03-13 08:19:18
请注意10,11,24行的代码,是本条博客的精华,逻辑并不难,就是有些小语法问题比较纠结,记录一下。import json import sqlite3import reimport argparse...
请注意10,11,24行的代码,是本条博客的精华,逻辑并不难,就是有些小语法问题比较纠结,记录一下。
import json import sqlite3 import re import argparse def get(db_file): conn = sqlite3.connect(db_file) cur = conn.cursor() print("5555555") value1=(60)# this is must be () cur.execute("select * from exception where agv_id=(%s)" %(value1)) #cursor.execute("insert into exception values('%s', '%s','%s' ) " %(start_time ,id ,infomation)) result= cur.fetchall() print("result:",result) for i in result: print(i) print("******************************888") def get_agv_id(db_file): try: conn = sqlite3.connect(db_file) cur = conn.cursor() cur.execute("select * from exception where agv_id=51") #print( cur.fetchall()) result= cur.fetchall() for i in result: print(i) except sqlite3.error,e: print(e) if __name__ == '__main__': parser = argparse.argumentparser(description='check the information of db') #parser.add_argument('-h', '--help', help='statistics for abnormal information') parser.add_argument('-n', '--name', help=' the db of name ') args = vars(parser.parse_args()) db_name = args['name'] print("db_name:",db_name) conn = sqlite3.connect('db_name') cursor = conn.cursor() get('fitkits.db') get_agv_id('fitkits.db') conn.commit() conn.close() print('done!') print("666")
补充:python + sqlite3 基本操作
连接数据库
import sqlite3 # 连接数据库(如果不存在则创建) conn = sqlite3.connect('test.db') print("opened database successfully") # 创建游标 cursor = conn.cursor() ... # 关闭游标 cursor.close() # 提交事物 conn.commit() # 关闭连接 conn.close()
创建表
... # 创建游标 cursor = conn.cursor() # 创建表 sql = 'create table student(id integer primary key autoincrement, name varchar(30), age integer)' cursor.execute(sql) # 提交事物 conn.commit() ...
插入数据
... # 创建游标 cursor = conn.cursor() # 插入数据 sql = "insert into student(name, age) values(\'love\', 22)" cursor.execute(sql) # 插入数据 2 data = ('love2', 2221) # or ['love2', 2221] sql = "insert into student(name, age) values(?, ?)" cursor.execute(sql, data) # 提交事物 conn.commit() ...
查询数据
... # 创建游标 cursor = conn.cursor() # 查询数据 sql = "select * from student" values = cursor.execute(sql) for i in values: print(i) # 查询数据 2 sql = "select * from student where id=?" values = cursor.execute(sql, (1,)) for i in values: print('id:', i[0]) print('name:', i[1]) print('age:', i[2]) # 提交事物 conn.commit() ...
其他操作
自增字段起始位置
# 设置起始值为1 update sqlite_sequence set seq = 0 where name = '表名'; # 设置全部表起始值为默认值 delete from sqlite_sequence where name='tablename'; --注意表名区分大小写
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
上一篇: 微波炉做蛋挞锡纸要拿掉吗
推荐阅读
-
MongoDB查询操作限制返回字段的方法
-
python3 sqlite3限制条件查询的操作
-
mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】
-
mysql常用基础操作语法(五)--对数据的简单条件查询【命令行模式】
-
mysql常用基础操作语法(六)--对数据排序和限制结果数量的条件查询【命令行模式】
-
MySQL数据库中的查询操作:基础查询、条件查询、模糊查询、排序查询
-
yii2的rest编程中的index操作,该以什么样的格式达到条件过滤查询的目的?
-
MongoDB查询操作限制返回字段的方法
-
mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】
-
mysql常用基础操作语法(五)--对数据的简单条件查询【命令行模式】