以下基于文章拓展
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()