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中使用元类的教程
Apr 28 Python
python&MongoDB爬取图书馆借阅记录
Feb 05 Python
python3解析库BeautifulSoup4的安装配置与基本用法
Jun 26 Python
python实现求特征选择的信息增益
Dec 18 Python
python实现AES和RSA加解密的方法
Mar 28 Python
Python 绘制酷炫的三维图步骤详解
Jul 12 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
Sep 24 Python
jupyter lab文件导出/下载方式
Apr 22 Python
使用sklearn对多分类的每个类别进行指标评价操作
Jun 11 Python
使用Python-OpenCV消除图像中孤立的小区域操作
Jul 05 Python
python井字棋游戏实现人机对战
Apr 28 Python
如何使用python包中的sched事件调度器
Apr 30 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
日本十大惊悚动漫
2020/03/04 日漫
怎样在PHP中通过ADO调用Asscess数据库和COM程序
2006/10/09 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
浅析Laravel5中队列的配置及使用
2016/08/04 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
使用laravel和ECharts实现折线图效果的例子
2019/10/09 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
javascript-简单的日历实现及Date对象语法介绍(附图)
2013/05/30 Javascript
JavaScript中prototype为对象添加属性的误区介绍
2013/10/15 Javascript
jQuery实现自定义右键菜单的树状菜单效果
2015/09/02 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
2015/10/29 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
Node.js 数据加密传输浅析
2016/11/16 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
2019/11/12 Javascript
JQuery表单元素取值赋值方法总结
2020/05/12 jQuery
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
Python定时发送消息的脚本:每天跟你女朋友说晚安
2018/10/21 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
2019/05/07 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
python取余运算符知识点详解
2019/06/27 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
Python的Lambda函数用法详解
2019/09/03 Python
Python如何获取Win7,Win10系统缩放大小
2020/01/10 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
专门经营化妆刷的美国彩妆品牌:Sigma Beauty
2017/09/11 全球购物
八一建军节部队活动方案
2014/02/04 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
趣味运动会简讯
2015/07/20 职场文书
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis