python+sqlite3-数据库增删改查操作
目录
*
–
+ python+sqlite3-数据库增删改查操作
+
* 01、sqlite数据库
* 02、下载数据库可视化工具
* 03、创建数据库
* 04、python连接数据库
* 05、查询数据
* 06、增加数据
* 07、修改数据
* 08、删除数据
* 09、数据库通用工具封装
* 10、完结
01、sqlite数据库
简介:SQLite,是一款轻型的数据库,它包含在一个相对小的C库中,很多嵌入式产品中使用了它,其中python就嵌入了它。 至2021年已经接近有21个年头,SQLite也迎来了一个版本 SQLite 3已经发布。
02、下载数据库可视化工具
简称: DB4S
全称: DB Browser for SQLite
简介:(DB4S) 是一种高质量、可视化、开源的工具,用于创建、设计和编辑与 SQLite 兼容的数据库文件。DB4S 适用于想要创建、搜索和编辑数据库的用户和开发人员。DB4S 使用熟悉的类似电子表格的界面,无需学习复杂的 SQL 命令。
03、创建数据库
注:本文以学生信息为数据库进行讲解
保存路径: python项目文件夹
数据库名: student_data
文件扩展名: .db
表名: student
字段:
名称类型非空主键自增注释idINTEGER√√√序号,自增,无需用户添加snameTEXT√××学生姓名sageINTEGER√××学生年龄
手动添加测试数据:
snamesage张三18李四19王五20
图示:
; 04、python连接数据库
from sqlite3 import Error
import sqlite3
try:
db_file = 'student_data.db'
conn = sqlite3.connect(db_file)
cour = conn.cursor()
print('连接成功')
cour.close()
conn.close()
except Error as e:
print('连接失败')
05、查询数据
(1)、查询所有student信息
from sqlite3 import Error
import sqlite3
try:
db_file = 'student_data.db'
conn = sqlite3.connect(db_file)
cour = conn.cursor()
sql = 'select * from student'
cour.execute(sql)
print(cour.fetchall())
cour.close()
conn.close()
except Error as e:
print('连接失败')
(2)、条件查询student信息
from sqlite3 import Error
import sqlite3
try:
db_file = 'student_data.db'
conn = sqlite3.connect(db_file)
cour = conn.cursor()
sql = 'select * from student where sname=?'
name = ('张三',)
cour.execute(sql, name)
print(cour.fetchall())
cour.close()
conn.close()
except Error as e:
print('连接失败')
06、增加数据
(1)、增加单条student信息
from sqlite3 import Error
import sqlite3
try:
db_file = 'student_data.db'
conn = sqlite3.connect(db_file)
cour = conn.cursor()
sql = 'INSERT INTO student(sname, sage) VALUES (?, ?);'
student_data = ('沐沐',18)
cour.execute(sql, student_data)
conn.commit()
print(cour.rowcount)
cour.close()
conn.close()
except Error as e:
print('连接失败')
(2)、增加多条student信息
from sqlite3 import Error
import sqlite3
try:
db_file = 'student_data.db'
conn = sqlite3.connect(db_file)
cour = conn.cursor()
sql = 'INSERT INTO student(sname, sage) VALUES (?, ?);'
student_data = [('沐风', 18), ('若若', 19), ('柜子', 20)]
cour.executemany(sql, student_data)
conn.commit()
print(cour.rowcount)
cour.close()
conn.close()
except Error as e:
print('连接失败')
07、修改数据
from sqlite3 import Error
import sqlite3
try:
db_file = 'student_data.db'
conn = sqlite3.connect(db_file)
cour = conn.cursor()
sql = 'update student set sname=?, sage=? where id=?'
student_data = ('小小', 18, 1)
cour.execute(sql, student_data)
conn.commit()
print(cour.rowcount)
cour.close()
conn.close()
except Error as e:
print('连接失败')
08、删除数据
(1)、删除单条student信息
from sqlite3 import Error
import sqlite3
try:
db_file = 'student_data.db'
conn = sqlite3.connect(db_file)
cour = conn.cursor()
sql = 'delete from student where id=?'
student_data = (1,)
cour.execute(sql, student_data)
conn.commit()
print(cour.rowcount)
cour.close()
conn.close()
except Error as e:
print('连接失败')
(2)、删除多条student信息
from sqlite3 import Error
import sqlite3
try:
db_file = 'student_data.db'
conn = sqlite3.connect(db_file)
cour = conn.cursor()
sql = 'delete from student where id=?'
student_data = [(2,), (3,), (4,)]
cour.executemany(sql, student_data)
conn.commit()
print(cour.rowcount)
cour.close()
conn.close()
except Error as e:
print('连接失败')
09、数据库通用工具封装
注:以查询student数据为例
封装原因:由于建立数据库连接和关闭游标、数据库连接等都是相同的执行语句,为了防止代码冗余,体现面向对象的编程思想
from sqlite3 import Error
import sqlite3
def db_conn(db_file):
try:
conn = sqlite3.connect(db_file)
return conn
except Error as e:
print('连接失败')
return None
def close_db(cour, conn):
close_cour = cour
close_conn = conn
if close_cour != None:
close_cour.close()
close_conn.close()
return True
else:
return False
if __name__ == '__main__':
db_file = 'student_data.db'
stu_conn = db_conn(db_file)
stu_cour = stu_conn.cursor()
sql = 'select * from student'
stu_cour.execute(sql)
print(stu_cour.fetchall())
result = close_db(stu_cour, stu_conn)
print(result)
10、完结
恭喜你-学完了本教程-完结撒花-★,°:.☆( ̄▽ ̄)/$:.°★ 。
Original: https://blog.csdn.net/mu1804784474/article/details/121882281
Author: 小沐沐吖
Title: python+sqlite3-数据库增删改查操作
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/815640/
转载文章受原作者版权保护。转载请注明原作者出处!