python-sqlite3使用指南

news/2025/1/18 9:32:43/

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, sqlite3db_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 rdef 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教程

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

相关文章

GoogleTest之gMock: Macros

目录 EXPECT_CALL EXPECT_CALL EXPECT_CALL(mock_object,method_name(matchers...)) 创建一个mock对象mock_object,这个对象有一个名为method_name的方法,方法的参数为matchers…。 EXPECT_CALL必须在任何mock对象之前使用。 以下方法的调用&#xff0c…

日撸 Java 三百行day56-57

文章目录 day56-57 kMeans 聚类1.kMeans聚类理解2.代码理解2.1代码中变量的理解2.2代码理解 day56-57 kMeans 聚类 1.kMeans聚类理解 无监督的机器学习算法,其中k是划分为几个簇,并且选择k个数据作为不同簇的聚类中心,计算每个数据样本和聚…

redux与react-redux状态集中管理

一、redux:可用于react、Vue等中 redux应用:状态的管理,共享状态,Redux用一个单独的常量状态树(state对象)保存这一整个应用(如tab选项卡的状态、城市等需要应用在整个页面的信息)的状态。其本…

Windows下利用Anaconda创建多个CUDA环境

参考 https://blog.csdn.net/qq_42395917/article/details/126237388 https://blog.csdn.net/qq_42406643/article/details/109545766 (待学习补充) https://blog.csdn.net/qq_43919533/article/details/125694437 (待学习补充) 安装cudatoolkit和cudnn # 前提是我已经安装了…

JAVA基础 - 如何使用split方法?

写在前面 在工作中一直使用split进行字串的分隔,但是始终没有认真研究过该方法,今天在使用该方法时遇到了一些问题,特进行学习记录。 遇到的问题 在使用“|”作为字串的分隔符的时候,分隔结果和预期不一样。 方法定义 // 从方…

Android使用多模块+MVI+Koin+Flow构建项目框架

Android使用多模块MVIKoinFlow构建项目框架 前言模块路由核心接口,用于在模块中绑定路由对应关系使用建造者模式定义传递的参数创建路由加载核心类, 本质上包含了一个全局路由表跳转类使用 MVI封装介绍,本质上使用flow作为核心定义数据类型,该…

I2C通信协议MPU6050

目录 I2C通信协议 硬件 软件 I2C时序 MPU6050 I2C通信协议 硬件 为了避免总线没协调好导致电源短路,配置为开漏输出,所有设备输出低电平不输出高电平,即右图。又为了避免高电平造成的引浮空,(第三点)总…

浏览器兼容性:CSS 回退属性

一个 CSS 类可以由许多声明组成,每个声明都具有property: value语法的语法: .cls {property: value; } 可以为同一个属性设置不同的值。稍后出现的值会覆盖它之前的值。浏览器将尝试使用最后的声明。在无法识别声明的情况下,它将回退到以前…