暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[Python实践]之使用Python操作数据库

跟着小白学Python 2021-12-13
407

点击上方蓝字关注我们


前面我们学习了Python和数据库的基本知识,今天一起来看看如何使用Python操作数据库。

基础知识


Python标准库内置了SQLlite3模块,它可以支持SQLite3数据库的访问和相关的数据库操作。Python语言操作SQLite3数据库的基本流程为:
  • 导入相关模块(SQLite3)

  • 使用connect()连接数据库并获取数据库连接对象。它提供的方法有:

    .cursor() #创建一个游标对象

    .commit() #处理事务提交

    .rollback() #处理事务回滚

    .close() #关闭连接

  • 使用con.cursor()可以获取游标对象

  • 使用游标对象的方法(execute()、executemany()、fetchall()等)来操作数据库,实现增删改查等操作

  • 使用close()关闭游标对象和数据库连接。注意:创建时先创建数据库连接再创建游标对象,对应的,关闭时先关闭游标对象再关闭数据库连接


实践练习


接下来我们通过实际操作来演示如何通过Python实现对SQLite3的操作(向左滑动可查看完整代码):
# 导入sqlite3模块
import sqlite3
# 创建数据库连接对象
conn = sqlite3.connect('test.db')
# 创建游标对象
cursor = conn.cursor()
# 创建数据表
sql = "CREATE TABLE IF NOT EXISTS test(id INTEGER PRIMARY KEY,name TEXT,age INTEGER)"
cursor.execute(sql)

通过以上操作我们创建了一个名为test.db的数据库文件,数据库中有一个名为test的表,此时表中没有数据。通过数据库管理工具查看数据库结构如下:

向表中添加数据:
# 添加数据
# 方式一:单行数据
data ="1,'张三',20"
cursor.execute("INSERT INTO test VALUES(%s)" % data)
# 方式二:单行数据
cursor.execute("INSERT INTO test VALUES(?,?,?)",(2,'李四',30))
# 方式三:多行数据
cursor.executemany("INSERT INTO test VALUES(?,?,?)",[(3,'王五',40),(4,'赵六',50)])
conn.commit()

结果如下:


对ID为3的数据进行更新:
# 更新数据
# 方式一:
cursor.execute("UPDATE test SET name=? WHERE id=?",("WANGWU",3))
conn.commit()
# 方式二:
cursor.execute("UPDATE test SET name='王五3' WHERE id=3")
conn.commit()

其效果如下:


要删除数据也很简单:
# 删除数据
# 方式一:
cursor.execute("DELETE FROM test WHERE id=?",(3,))
# 方式二:
cursor.execute("DELETE FROM test WHERE id=4")

完成对ID为3和4的数据的删除


为了后续的演示,重新插入多行数据:
# 添加数据多行数据
cursor.executemany("INSERT INTO test VALUES(?,?,?)",[(3,'王五',40),(4,'赵六',50)])
conn.commit()


查询数据:
# 查询所有数据
cursor.execute("SELECT * FROM test")
print(cursor.fetchall())

输出为:

# 查询第一条数据
cursor.execute("SELECT * FROM test")
print(cursor.fetchone())

输出为:

# 查询多行数据
print(cursor.fetchmany(2))

输出为:


任务结束,断开数据库连接。先断开游标,再断开数据库连接。
# 断开连接
# 关闭游标
cursor.close()
# 关闭数据库连接
conn.close()


以上就是Python中操作SQLite3的相关操作,怎么样?是不是很简单,如果对你有帮助还请点个赞呗



扫描二维码获取

更多精彩









点个在看你最好看

文章转载自跟着小白学Python,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论