python-sqlite3使用指南

news2024/11/26 18:23:57

python下sqlite3使用指南

文章目录

  • python下sqlite3使用指南
    • 开发环境
    • sqlite3常用API
    • CRUD实例
    • 参考

开发环境

  • vscode

image-20230527145848272

  • 开发语言: python

vscode SQLite插件使用方法:

image-20230527150827970

之后在这里就可以发现可视化数据:

image-20230527150900168

sqlite3常用API

Python 2.5.x 以上版本默认自带了sqlite3 ,不需要下载,

要操作关系数据库,首先需要连接到数据库,一个数据库连接称为Connection

连接到数据库后,需要打开游标,称之为Cursor,通过Cursor执行SQL语句,然后,获得执行结果。

# -*- coding: utf-8 -*-

import os, sqlite3

db_file = os.path.join(os.path.dirname(__file__), "test.db")
# if os.path.isfile(db_file):
#     os.remove(db_file)


def get_connect():
    return sqlite3.connect(db_file)


def insert_or_update(sql_str):
    con = get_connect()
    cursor = con.cursor()
    r = cursor.execute(sql_str)
    cursor.close()
    con.commit()
    con.close()
    return r


def add_user():
    insert_or_update("INSERT INTO  user (id,name,score) VALUES('1','a',1)")
    insert_or_update("INSERT INTO  user (id,name,score) VALUES('2','b',1)")
    insert_or_update("INSERT INTO  user (id,name,score) VALUES('3','c',1)")
    insert_or_update("INSERT INTO  user (id,name,score) VALUES('4','d',1)")


def update_user():
    insert_or_update("UPDATE  user set score=999 where id = 1")
    insert_or_update("UPDATE  user set score=999 where id = 2")
    insert_or_update("UPDATE  user set score=999 where id = 3")
    insert_or_update("UPDATE  user set score=999 where id = 4")


def select(cmd):
    con = get_connect()
    cur = con.cursor()
    result = cur.execute(cmd)
    return result.fetchall() ,con

# add_user()
# update_user()

# r, c = select("select * from user")
# print(r)
# c.close()

CRUD实例

import sqlite3  
  
# 连接到数据库  
conn = sqlite3.connect('example.db')  
  
# 创建一个游标对象  
cur = conn.cursor()  
  
# 创建一个名为example_table的表  
cur.execute('''CREATE TABLE example_table (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')  
  
# 插入数据  
cur.execute("INSERT INTO example_table (name, age) VALUES ('Alice', 25)")  
cur.execute("INSERT INTO example_table (name, age) VALUES ('Bob', 30)")  
cur.execute("INSERT INTO example_table (name, age) VALUES ('Charlie', 35)")  
  
# 提交更改  
conn.commit()  
  
# 查询数据  
cur.execute("SELECT * FROM example_table")  
for row in cur.fetchall():  
    print(row)  
  
# 更新数据  
cur.execute("UPDATE example_table SET age = 40 WHERE name = 'Bob'")  
conn.commit()  
  
# 删除数据  
cur.execute("DELETE FROM example_table WHERE name = 'Charlie'")  
conn.commit()  
  
# 关闭连接  
conn.close()

此代码示例首先连接到名为example.db的SQLite3数据库,然后创建一个名为example_table的表,并向其中插入一些数据。然后,它查询、更新和删除表中的数据,最后关闭数据库连接。

参考

菜鸟教程-sqlite3

廖雪峰-sqlite3-python教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/585663.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信息安全实践1.3(HTTPS)

前言 做这个实验对Tomcat的版本有要求,最好是使用Tomcat8。因为我之前使用Tomcat10,然后一直做不出来。 要求 部署Web服务器端HTTPS功能,通过网络嗅探分析HTTPS通过SSL实施安全保护的效果 关键步骤 首先要给tomcat配置https,也…

设计模式之美-实战一(上):业务开发常用的基于贫血模型的MVC架构违背OOP吗?

领域驱动设计(Domain Driven Design,简称DDD)盛行之后,这种基于贫血模型的传统的开发模式就更加被人诟病。而基于充血模型的DDD开发模式越来越被人提倡。所以,我打算用两节课的时间,结合一个虚拟钱包系统的…

超低功耗三通道低频无线唤醒ASK接收 125k soc芯片UM2082F08

UM2082F08 是基于单周期 8051 内核的超低功耗 8 位、、具有三通道低频无线唤醒 ASK 接收功能的 SOC 芯片。芯片可检测 30KHz~300KHz 范围的 LF(低频)载波频率数据并触发唤醒信号,同时可以调节接收灵敏度,确保在各种应用环境下实现…

代码随想录算法训练营15期 Day 6 | 242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数、1. 两数之和

由于昨天是周日,周日是休息日,所以就是什么也没有写啦。今天是day06天,继续加油。 哈希表理论基础 建议:大家要了解哈希表的内部实现原理,哈希函数,哈希碰撞,以及常见哈希表的区别,…

Toolkit.getDefaultToolkit()获得的java.awt.Toolkit是不是同一个? 是否为单例设计模式?答案是**是**

Toolkit.getDefaultToolkit()获得的java.awt.Toolkit是不是同一个? 是否为单例设计模式? 答案是是 反复调用Toolkit.getDefaultToolkit()获得的 java.awt.Toolkit 是同一个 import java.awt.Toolkit;public class GetDefaultToolkit是不是获得单例Toolkit {static public …

【P43】JMeter 吞吐量控制器(Throughput Controller)

文章目录 一、吞吐量控制器(Throughput Controller)参数说明二、测试计划设计2.1、Total Executions2.2、Percent Executions2.3、Per User 一、吞吐量控制器(Throughput Controller)参数说明 允许用户控制后代元素的执行的次数。…

中级软件设计师考试总结

目录 前言考前学习宏观什么是软考涉及的知识范围软考整体导图总结 微观我的分享——希尔排序学习过程结构化做题 考试阶段确定不确定 考后总结 前言 作为一名中级软件设计师,考试是衡量自己技能和水平的一项重要指标。在备考和考试过程中,我通过总结经验…

【TI毫米波雷达笔记】IWR6843AOPEVM-G的DCA1000EVM模式配置及避坑(官方手册有误)

【TI毫米波雷达笔记】IWR6843AOPEVM-G的DCA1000EVM模式配置及避坑(官方手册有误) IWR6843AOPEVM-G版本可以直接与DCA1000EVM连接 进行数据获取 不需要连接MMWAVEICBOOST版 直接使用 DCA1000mmWave Studio 软件进行数据采集 在官方手册中 User’s Guide…

linux环境下安装gitlab

前几天跟朋友聊天时说到gitlab版本控制。其实,之前也对它只是知道有这个东西,也会用。只是对于它的安装和配置,那我还是没整过。这两天,我找了一下网上的资料,还是写下吧。 一安装: 按网上所说,…

2023年上半年信息系统项目管理师下午真题及答案解析

试题一(25分) 为实现空气质量的精细化治理,某市规划了智慧环保项目。该项目涉及网格化监测、应急管理、执法系统等多个子系统。作为总集成商,A公司非常重视,委派李经理任项目经理,对公司内研发部门与项目相关的各产品线研发人员及…

带你开发一个远程控制项目---->STM32+标准库+阿里云平台+传感器模块+远程显示-------之 阿里云平台项目建造。

第一篇章: (13条消息) 带你开发一个远程控制项目---->STM32标准库阿里云平台传感器模块远程显示。_海口飞鹏岛科技有限公司的博客-CSDN博客 本次文章是指引开发者进行开发阿里云平台建造设备项目,可观看UP主教程,完成如下&#x…

今天面了一个9个月测试经验的人,开口就跟我要18K,我都愣住了....

2月初我入职了深圳某家创业公司,刚入职还是很兴奋的,到公司一看我傻了,公司除了我一个测试,公司的开发人员就只有3个前端2个后端还有2个UI,在粗略了解公司的业务后才发现是一个从零开始的项目,目前啥都没有…

测试之路,你知道这些变化吗?突破后助你走得更远...

前言 Python自动化测试:7天练完这60个实战项目,年薪过35w。 目前的面试求职市场上,测试领域有哪些变化? 以这两年软件测试发展经历来看,现在的求职市场,已经不仅仅只考察个人的项目经验和技术能力了&#…

十五、多线程(上)

文章目录 一、线程(一)什么是线程(二)Linux下的多线程(三)总结(四)线程优点(五)线程缺点(六)线程异常(七)线程…

字节跳动测试开发岗 3+1 面经+经验分享(收到offer,入职月薪27K)

现在,招聘黄金时间已经过了,在网上看了很多大佬的面经,也加了很多交流群,受到了很多朋友的提点,今天终于轮到我来分享面经啦,之前面试了几家公司,最后在八月初拿到了字节跳动测试岗的 offer&…

数据结构 -- AVL树

1、定义 平衡搜索二叉树,相对于搜索二叉树而言,AVL树又多了一个性质:左右子树的高度差不大于1. 2、平衡因子,balance factor,以下简称bf,是左子树高度减去右子树的高度 bf > 1,左边子树高bf …

Java最新版发送阿里短信教程

一、概述: 为什么现在的企业越来越多使用阿里云短信服务,究其原因是阿里云短信服务是一种可靠、高效、安全的短信发送服务,它具有以下优点: 高可靠性:阿里云短信服务采用全球领先的短信网关进行短信发送,确…

自定义线程池

自定义线程池原理 线程池中分为核心线程和临时线程;首先创建核心线程使用,创建之后一直存在线程池,核心线程被占用并且队列任务已满,才会创建临时线程;临时线程使用超过自定义临时线程最大数时会触发自定义的任务拒绝策…

你猜,一个TCP连接能发多少HTTP请求?

又见面了,我的网工朋友 曾经有这么一道经典面试题:从 URL 在浏览器被被输入到页面展现的过程中发生了什么? 相信大多数准备过的同学都能回答出来,但是如果继续问: 收到的 HTML 如果包含几十个图片标签,这…

【Vue】学习笔记-slot插槽

slot插槽 <slot>插槽&#xff1a;让父组件可以向子组件指定位置插入html结构&#xff0c;也是一种组件间通信的方式&#xff0c;适用于父组件>子组件 分类&#xff1a;默认插槽、具名插槽、作用域插槽 使用方式 a.默认插槽 b.具名插槽 父组件指明放入子组件的哪个插…