当前位置:Gxlcms > 数据库问题 > Python3操作SQLite数据库

Python3操作SQLite数据库

时间:2021-07-01 10:21:17 帮助过:24人阅读

第一步:连接数据库(如果数据库不存在就会创建新的数据库)

# 可以指定创建数据库的路径,比如可以写成sqlite3.connect(r"E:\DEMO.db")
con = sqlite3.connect("DEMO.db")

第二步:创建游标

cur = con.cursor()

第三步:CURD操作

(一) 创建表

sql = "CREATE TABLE IF NOT EXISTS test(id INTEGER PRIMARY KEY,name TEXT,age INTEGER)"
cur.execute(sql)
创建完数据库和表后的结构示意图:

技术图片

(二) 添加数据(需要提交)

# ①:添加单条数据
data = "1,‘Desire‘,5"
cur.execute(‘INSERT INTO test VALUES (%s)‘ % data)
# ②:添加单条数据
cur.execute("INSERT INTO test values(?,?,?)", (6, "zgq", 20))
# ③:添加多条数据
cur.executemany(‘INSERT INTO test VALUES (?,?,?)‘, [(3, ‘name3‘, 19), (4, ‘name4‘, 26)])
操作后的数据库如下图:

技术图片

(三) 更新数据(需要提交)

# 方式一
cur.execute("UPDATE test SET name=? WHERE id=?", ("nihao", 1))
# 方式二
cur.execute("UPDATE test SET name=‘haha‘ WHERE id=3")
操作后的数据库如下图:

技术图片

(四) 删除数据(需要提交)

# 方式一
cur.execute("DELETE FROM test WHERE id=?", (1,))
# 方式二
cur.execute("DELETE FROM test WHERE id=3")
操作后的数据库如下图:

技术图片

(五) 查询数据

数据库中的数据如下:

技术图片

1、查询所有数据
cur.execute("select * from Test")
print(cur.fetchall())
结果如下:

技术图片

2、查询第一条数据
cur.execute("select * from Test")
print(cur.fetchone())
结果如下:

技术图片

3、查询多条数据
print(cur.fetchmany(3))
结果如下:

技术图片

第四步:事务的提交和回滚

提交
con.commit()
回滚
con.rollback()

第五步:断开会话连接,释放资源

# 关闭游标
cur.close()
# 断开数据库连接
con.close()

关于SQLite数据类型的Typelessness(无类型)

创建一个无类型的表(创建表的SQL语句字段不加类型即可)

sql = "CREATE TABLE IF NOT EXISTS user(clo_1,clo_2,clo_3)"
cur.execute(sql)
创建成功后的结构:

技术图片

添加数据的时候就可以添加任意类型的数据(没有限制)

sql = ‘INSERT INTO user VALUES (?,?,?)‘
data = [(9, ‘name3‘, 19), (‘name4‘, 26, "nihao"), (‘nihao‘, 3, 2.89)]
cur.executemany(sql, data)
con.commit()
添加成功后的表内容:

技术图片

-----------------------------------------------------------------------------
*以上便是SQLite在Python中简单的操作,查看表结构可以用Navicat for SQLite可视化工具

Python3操作SQLite数据库

标签:相对   可视化工具   back   products   管理系统   导入   tab   自带   add   

人气教程排行