0%

python3 操作sqlite3数据库

Python 如何操作 SQLite 数据库

SQLite 是一种轻型的关系型数据库管理系统,它支持 SQL 语言。它拥有小巧、快速、可靠、跨平台等特点,常用于移动设备、嵌入式系统和小型应用程序的开发。Python 是一种解释型、面向对象、动态数据类型的高级编程语言,适合于快速开发、简洁明了的代码编写。Python 通过 SQLite 模块来操作 SQLite 数据库,提供了非常简单、方便的接口,本文将从多个角度分析 Python 如何操作 SQLite 数据库。

一、Python 如何连接 SQLite 数据库

Python 连接 SQLite 数据库非常简单,只需要引入 sqlite3 模块,使用 connect() 方法即可。connect() 方法的语法如下:

import sqlite3
conn = sqlite3.connect('example.db')

其中 example.db 是数据库文件名,如果不存在则会自动创建。connect() 方法还可以接收多个参数,用于设置连接属性,如:

conn = sqlite3.connect('example.db', isolation_level=None, timeout=5)

其中 isolation_level 表示事务隔离级别,timeout 表示超时时间,None 表示不限制。

二、Python 如何创建 SQLite 数据库表

Python 的 sqlite3 模块提供了 execute() 方法来执行 SQL 语句。使用 execute() 方法可以执行任何 SQL 语句,包括创建表、插入数据、查询数据等。下面是创建表的示例代码:

import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS stocks
(date text, trans text, symbol text, qty real, price real)''')
conn.commit()
conn.close()

以上代码创建了一个名为 stocks 的表,包含 date、trans、symbol、qty、price 五个字段,分别表示日期、交易类型、股票代码、数量和价格。其中 IF NOT EXISTS 表示如果表已经存在则不再创建。

三、Python 如何插入 SQLite 数据库

插入数据也是使用 execute() 方法,下面是插入数据的示例代码:

import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()
c.execute("INSERT INTO stocks VALUES ('2006-01-05', 'BUY', 'RHAT', 100, 35.14)")
conn.commit()
conn.close()

以上代码插入了一条数据,日期为 2006-01-05,交易类型为 BUY,股票代码为 RHAT,数量为 100,价格为 35.14。

四、Python 如何查询 SQLite 数据库

查询数据也是使用 execute() 方法,下面是查询数据的示例代码:

import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()
for row in c.execute("SELECT * FROM stocks WHERE symbol='RHAT'"):
print(row)
conn.close()

以上代码查询了表 stocks 中股票代码为 RHAT 的数据,并打印出来。

五、Python 如何更新 SQLite 数据库

更新数据使用 execute() 方法的 UPDATE 语句,下面是更新数据的示例代码:

import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()
c.execute("UPDATE stocks SET qty=200 WHERE symbol='RHAT'")
conn.commit()
conn.close()

以上代码更新了表 stocks 中股票代码为 RHAT 的数据,将数量改为 200。

六、Python 如何删除 SQLite 数据库

删除数据使用 execute() 方法的 DELETE 语句,下面是删除数据的示例代码:

import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()
c.execute("DELETE FROM stocks WHERE symbol='RHAT'")
conn.commit()
conn.close()

以上代码删除了表 stocks 中股票代码为 RHAT 的数据。

七、Python 如何事务处理 SQLite 数据库

事务是一组操作,它们被视为单个工作单元,要么全部被执行,要么全部不执行。在 SQLite 中,使用 BEGIN、COMMIT 和 ROLLBACK 语句来处理事务。Python 的 sqlite3 模块提供了 commit() 和 rollback() 方法来提交或回滚事务。下面是事务处理的示例代码:

import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()
try:
c.execute("BEGIN")
c.execute("UPDATE stocks SET qty=200 WHERE symbol='RHAT'")
c.execute("COMMIT")
except:
c.execute("ROLLBACK")
conn.close()

以上代码使用 BEGIN 开始一个事务,如果执行过程中出现异常,则使用 ROLLBACK 回滚事务,否则使用 COMMIT 提交事务。

综上所述,Python 操作 SQLite 数据库非常简单,只需要引入 sqlite3 模块,使用 connect() 方法连接数据库,使用 execute() 方法执行 SQL 语句即可。通过本文的介绍,读者应该能够掌握 Python 如何连接、创建、插入、查询、更新、删除和事务处理 SQLite 数据库的方法。