python3 sqlite3限制条件查询的操作


Posted in Python onApril 07, 2021

请注意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'; --注意表名区分大小写

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
Python命令行参数解析模块optparse使用实例
Apr 13 Python
实例Python处理XML文件的方法
Aug 31 Python
Python导入模块时遇到的错误分析
Aug 30 Python
使用Python的turtle模块画图的方法
Nov 15 Python
python实现外卖信息管理系统
Jan 11 Python
Python实现针对给定单链表删除指定节点的方法
Apr 12 Python
Python中list查询及所需时间计算操作示例
Jun 21 Python
使用python实现快速搭建简易的FTP服务器
Sep 12 Python
Python os.access()用法实例
Feb 18 Python
详解django+django-celery+celery的整合实战
Mar 19 Python
Python实现像awk一样分割字符串
Sep 15 Python
Python如何解决secure_filename对中文不支持问题
Jul 16 Python
python实现高效的遗传算法
解决hive中导入text文件遇到的坑
Apr 07 #Python
python - asyncio异步编程
Apr 06 #Python
python - timeit 时间模块
Apr 06 #Python
python制作图形界面的2048游戏, 基于tkinter
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
Apr 06 #Python
python删除csv文件的行列
Apr 06 #Python
You might like
基于jquery的一个图片hover的插件
2010/04/24 Javascript
获取select元素被选中的文本内容的js代码
2014/01/29 Javascript
jquery中常用的函数和属性详细解析
2014/03/07 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
2014/06/09 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
Node.js调试技术总结分享
2017/03/12 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
详解使用nvm安装node.js
2017/07/18 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
2017/09/28 Javascript
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
vue2.0使用swiper组件实现轮播效果
2017/11/27 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
在Linux下调试Python代码的各种方法
2015/04/17 Python
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
基于python的七种经典排序算法(推荐)
2016/12/08 Python
详解Python核心对象类型字符串
2018/02/11 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
python执行CMD指令,并获取返回的方法
2018/12/19 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
django框架模板语言使用方法详解
2019/07/18 Python
Python3 sys.argv[ ]用法详解
2019/10/24 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
预订旅游活动、景点和旅游:GetYourGuide
2019/09/29 全球购物
C语言编程题
2015/03/09 面试题
我能否用void** 指针作为参数, 使函数按引用接受一般指针
2013/02/16 面试题
企业百日安全活动总结
2015/05/07 职场文书
工厂无线对讲系统解决方案
2022/02/18 无线电
改造DE1103三步曲
2022/04/07 无线电
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL