Python中SQLite数据库连接和操作

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档