栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

关于sqlite3与python的基本操作及问题处理

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于sqlite3与python的基本操作及问题处理

以下基于文章拓展

https://blog.csdn.net/sy670733/article/details/106243056?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163957002516780271530122%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163957002516780271530122&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-1-106243056.pc_search_em_sort&utm_term=python+sqlite3%E8%AF%BB%E5%8F%96%E6%95%B0%E6%8D%AE&spm=1018.2226.3001.4187

1、试着用python构建了sqlite3文件

import sqlite3

#创建数据库
con=sqlite3.connect('test.db')
#建立游标
cur=con.cursor()
#数据库建立一个表
sql_cre="""CREATE TABLE tab1
        (name TEXT,sex TEXT,age TEXT)"""
cur.execute(sql_cre)

运行后简单建立了一个表:
cur是一个游标,用.execute()方法便可以加入语句执行数据库操作

现在试着往里面添加数据:

#添加一个记录
sql_ins="INSERT INTO tab1 VALUES(?,?,?)"
cur.execute(sql_ins,('张三丰','男',2))

结果

查询可知:

于是试着先将navicat关闭数据链接

结果还是不行,于是查了发现好像少了一句话

con.commit()

于是加上后发现
操作成功了哈哈

删除整张表结构:

#删除一个表
sql_dro="DROp TABLE IF EXISTS tab1"
cur.execute(sql_dro)

删除一条数据:(aql语句是不区分大小写的)

#删除一个记录
sql_del="DELETE FROM TAB1 WHERe name=?"
cur.execute(sql_del,('张三丰',))

更新一条数据:

#修改一个记录
sql_upd="UPDATe tab1 set name=? WHERe name=? "
cur.execute(sql_upd,('段誉','张三丰'))

加入多个数据

#添加多条语句(删除同理)
add_list=[('小龙女','古墓','女',18),('令狐冲','华山','男',20),('乔峰','丐帮','男',30)]
sql_inss="INSERT INTO tab2 VALUES(?,?,?,?)"
cur.executemany(sql_inss,add_list)

注意此处用的命令是executmany

查询数据

#查询数据
sql_sel="SELECT * FROM tab2"
cur.execute(sql_sel)
print(cur.fetchone())#获取一条
print(cur.fetchmany(2))#上面获取了第一条,下面获取第2-3条
print(cur.fetchall())#获取剩余的



完整代码如下:

import sqlite3

#创建数据库
con=sqlite3.connect('test.db')
#建立游标
cur=con.cursor()

#数据库建立一个表
# sql_cre="CREATE TABLE tab1 (name TEXT,sex TEXT,age TEXT)"
# cur.execute(sql_cre)

#删除一个表
# sql_dro="DROp TABLE IF EXISTS tab1"
# cur.execute(sql_dro)

#数据库建立一个表
# sql_cre="CREATE TABLE tab2 (name TEXT,sects TEXT,sex TEXT,age TEXT)"
# cur.execute(sql_cre)

#添加一个记录
# sql_ins="INSERT INTO tab1 VALUES(?,?,?)"
# cur.execute(sql_ins,('张三丰','男',2))

#删除一个记录
# sql_del="DELETE FROM TAB1 WHERe name=?"
# cur.execute(sql_del,('张三丰',))

#修改一个记录
# sql_upd="UPDATe tab1 set name=? WHERe name=? "
# cur.execute(sql_upd,('段誉','张三丰'))

#添加多条语句(删除同理)
# add_list=[('小龙女','古墓','女',18),('令狐冲','华山','男',20),('乔峰','丐帮','男',30)]
# sql_inss="INSERT INTO tab2 VALUES(?,?,?,?)"
# cur.executemany(sql_inss,add_list)

#查询数据
sql_sel="SELECT * FROM tab2"
cur.execute(sql_sel)
print(cur.fetchone())#获取一条
print(cur.fetchmany(2))#上面获取了第一条,下面获取第2-3条
print(cur.fetchall())#获取剩余的

con.commit()
print("操作成功")

cur.close()
con.close()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664799.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号