Python中SQLite数据库连接和操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Python中SQLite数据库连接和操作
一、SQLite数据库介绍
SQLite是一种轻型、嵌入式数据库,与传统的客户端-服务器数据库不同,它是在同一进程中运行的库,实现了在本地磁盘中创建一个单一的文件来存储整个数据库,使得在编写应用程序时集成数据库变得更加容易。SQLite由于其高效性和可移植性,已经被广泛地应用于移动开发、桌面应用程序和Web应用程序中。
二、Python中SQLite数据库的连接
Python中提供了一个名为sqlite3的标准API,用于连接和操作SQLite数据库,我们可以使用这个API在Python程序中轻松地进行数据库的读写操作。
1.导入SQLite模块
要使用SQLite数据库,需要先导入Python的sqlite3模块,可以使用以下代码进行导入:
```
import sqlite3
```
2.连接数据库
使用sqlite3.connect()方法可以连接到SQLite数据库,该方法需要指定数据库文件的路径,如果文件不存在,则会创建一个新的数据库文件。
```
conn = sqlite3.connect('test.db')
```
这里的test.db是要连接的数据库文件名,连接成功后返回一个数据库连接对象conn。
3.创建游标对象
在连接数据库后,需要创建游标对象来执行SQL语句,可以使用以下代码创建游标对象:
```
cursor = conn.cursor()
```
三、Python中SQLite数据库的操作
1.创建表
使用游标对象执行SQL语句可以创建表,例如:```
cursor.execute('''CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL, ADDRESS CHAR(50),
SALARY REAL);''')
```
这个语句创建了一个名为COMPANY的表,表中包含5个字段:ID、NAME、AGE、ADDRESS、SALARY,其中ID字段是主键,不允许为空。
2.插入数据
插入数据可以使用INSERT语句,例如:
```
cursor.execute("INSERT INTO COMPANY
(ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (1, 'Paul', 32, 'California', 20000.00 )")
```
这里插入了一行数据,该行数据包含COMPANY表中所有字段的值。
3.查询数据
查询数据可以使用SELECT语句,例如:
```
cursor.execute("SELECT * from COMPANY")
```
这个语句查询COMPANY表中所有数据,可以使用fetchall()方法获取查询结果。
```
rows = cursor.fetchall()
for row in rows:
print(row)
```
这个代码将打印COMPANY表中所有数据的结果。
4.更新数据
更新数据可以使用UPDATE语句,例如:
```
cursor.execute("UPDATE COMPANY set SALARY = 25000.00 where ID = 1")
```
这里更新了ID为1的行的SALARY字段的值为25000.00。
5.删除数据
删除数据可以使用DELETE语句,例如:
```
cursor.execute("DELETE from COMPANY where ID=2;")
```
这里删除了ID为2的行。
6.提交事务
在完成数据库操作后必须提交事务,可以使用commit()方法将事务提交到数据库,例如:
```
mit()
```
四、Python中SQLite数据库的事务处理
事务是一组数据库操作,可以被看做是一个单元,这些操作要么全部完成,要么全部不完成,这样可以确保在进行多个操作时保持数
据库的完整性。如果其中一个操作失败,所有操作都不会被执行,数据库回滚到上一个状态。
SQLite中的事务默认是自动提交的,也就是说每个操作都会立即提交到数据库,如果需要支持事务,则需要将自动提交模式关闭。可以使用以下代码将自动提交模式关闭:
```
conn.isolation_level = None
```
然后可以使用以下代码建立事务:
```
try:
cursor.execute("...")
cursor.execute("...")
...
mit()
except:
conn.rollback()
```
在这个代码块中,所有操作都将在一个事务中执行,如果发生异常,事务将回滚到上一个状态,所有操作都被撤销。
五、Python中SQLite数据库的关闭
在完成SQLite数据库的操作后,应该关闭数据库连接,可以使用
以下代码完成关闭:
```
conn.close()
```
这个代码断开数据库连接并释放相应的资源。
总结
Python中的SQLite数据库提供简单而高效的数据库存储解决方案,具有多种优势比如高效性、可移植性和轻量级等。使用SQLite3 API