python3对sqlite数据库的增删改查

Python 内置了 SQLite3,在 Python 中使用 SQLite,直接导入即可,代码如下:

import sqlite3 #导入sqlite3

接下来连接数据库

conn = sqlite3.connect('test.db') #连接名字为test.db的数据库,如果没有test.db这个数据库,则会创建一个名字为test.db的数据库
python3对sqlite数据库的增删改查_第1张图片

注意:这两行代码要先运行,因为这样才可以先把这个test数据库创建出来

下面,就可以实现增删查改的操作了,废话少说,直接上代码

#注意每次运行完该代码,如果需要重新来测试数据库,则需要删除数据库中的表
#生成新的数据库时,需要将python与sqllite连接。点击数据库——>新建——>数据源——>sqlite
#然后在文件出找到创建的test.db这个数据库的文件,只有在连接成功后,才能用python对该数据库实现增删改查
import sqlite3 #导入sqlite3

conn = sqlite3.connect('test.db') #连接名字为test.db的数据库,如果没有test.db这个数据库,则会创建一个名字为test.db的数据库
print('成功打开数据库')

c = conn.cursor() #获取游标

sql = '''CREATE TABLE students (
stu_id int NOT NULL,
stu_name varchar(45) NOT NULL,
stu_age int NOT NULL,
stu_score int NOT NULL,
PRIMARY KEY (stu_id)
)''' #sqlite只有5种数据类型,没有int varchar 为什么没有报错?
c.execute(sql)

def main():
print("输入你要的操作:\n1,增加数据\n2,删除数据\n3,修改数据\n4,查询数据\n5,退出程序")
a=input("请输入:")
return a
#增加
def add():
b1 = input("输入学生id:")
b2 = input("输入学生姓名:")
b3 = input("输入学生年纪:")
b4 = input("输入学生分数:")
sql = "insert into students(stu_id,stu_name,stu_age,stu_score) values('%s','%s','%s','%s')"%(b1,b2,b3,b4)
c.execute(sql)
conn.commit() # 数据提交到数据库。未提交之前操作的结果保存在缓存中,从缓存中提交。
print("添加数据成功")

#删除
def delete():
b1 = input("请输入要删除的学生id:")
sql = "delete from students where stu_id = %s " % (b1)
c.execute(sql)
conn.commit()
print("删除数据成功")

#查询
def view():
sql = "select * from students"
c.execute(sql)
data = c.fetchall()
print(data)

#更改数据
def update():
sql = "update students set stu_name=%s,stu_age =%s,stu_score=%s where stu_id=%s "
#更新命令多个操作中间有逗号,忘了会出错
b1 = input("输入学生id:")
b2 = input("输入学生姓名:")
b3 = input("输入学生年纪:")
b4 = input("输入学生分数:")
val = (b2,b3,b4,b1)
c.execute(sql,val)
conn.commit()
print("更新成功")

x = 0
while x == 0:
a1 = main()
if a1 == '1':
add()
elif a1 == '2':
delete()
elif a1 =='3':
update()
elif a1 == '4':
view()
elif a1 == '5':
break

# conn.close() 关闭数据库

第一次写文章,很多地方不太熟练,后面我会经常学习新的方法,努力写出好文章,和大家一起分享。如果大家有好的建议以及批评指正,欢迎评论区留言。

你可能感兴趣的:(python)