SQLite - Python


SQLite – Python技术文档

SQLite是一种轻型的关系型数据库,支持SQL语言。由于其小巧、高效、易于集成的特性,SQLite被广泛应用于各种应用场合,尤其在移动应用中使用较多。

Python是一种高级编程语言,提供了丰富的库和模块,可以轻易地访问SQLite数据库,并使用SQL语句对数据库进行操作。Python通过标准库sqlite3提供了SQLite的API,灵活地与SQLite进行交互。

安装和配置SQLite - Python

Python 2和Python 3都具有sqlite3模块,不需要额外安装。但是,确保安装了SQLite客户端库。建议使用SQLite官方网站上提供的预编译二进制文件。

创建和连接数据库

SQLite使用无服务器模式运行,它的单个文件作为数据库会话。因此,我们可以在没有服务器软件的情况下运行本地数据库。使用Python创建和连接到SQLite数据库通常需要简单的代码。

可以使用以下语句连接到SQLite数据库:

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

SQLite使用一种被称为连接字符串的特殊URI格式,其中包含用于指定数据库路径和文件名的信息。

通过此连接,我们可以使用游标和执行SQL语句来与数据库进行交互。

创建表和插入数据

SQLite支持大多数标准SQL语句,包括创建、插入、更新和删除语句。使用Python,我们可以轻松地执行这些语句。

下面的示例展示了如何使用Python创建一个名为“users”的表,并插入一些数据:

import sqlite3
 
conn = sqlite3.connect('example.db')
 
c = conn.cursor()
 
c.execute('''CREATE TABLE users (id INT, name TEXT, age INT)''')
 
c.execute("INSERT INTO users VALUES (1, 'John Doe', 25)")
c.execute("INSERT INTO users VALUES (2, 'Jane Doe', 22)")
 
conn.commit()
 
conn.close()

使用游标执行SQL语句后,需要调用commit()函数提交更改。然后,可以关闭连接。

查询数据

查询数据是数据库应用程序的关键功能之一。SQLite使用SQL SELECT语句来查询数据,并使用Python的sqlite3模块来执行此类语句。

以下示例展示如何执行SELECT语句,以检索所有用户的数据:

import sqlite3
 
conn = sqlite3.connect('example.db')
 
c = conn.cursor()
 
c.execute("SELECT * FROM users")
 
rows = c.fetchall()
 
for row in rows:
    print(row)
 
conn.close()

上面的代码使用fetchall()函数和for循环来遍历结果集中的所有行,并打印它们。

更新数据

SQLite支持使用SQL UPDATE语句来更新数据。使用Python,我们可以通过以下代码来更新用户表中年龄为25岁的John Doe的数据:

import sqlite3
 
conn = sqlite3.connect('example.db')
 
c = conn.cursor()
 
c.execute("UPDATE users SET age = 26 WHERE name = 'John Doe' AND age = 25")
 
conn.commit()
 
conn.close()

上面的代码使用execute()函数执行更新语句,并使用commit()函数提交更改。

删除数据

SQLite支持使用SQL DELETE语句从表中删除数据。使用Python,我们可以通过以下代码来删除年龄为22岁的Jane Doe的数据:

import sqlite3
 
conn = sqlite3.connect('example.db')
 
c = conn.cursor()
 
c.execute("DELETE FROM users WHERE name = 'Jane Doe' AND age = 22")
 
conn.commit()
 
conn.close()

上面的代码使用execute()函数执行删除语句,并使用commit()函数提交更改。

总结

Python的sqlite3模块使得操作SQLite数据库变得非常容易。在创建,连接,查询和操作数据库时,我们可以使用Python中的标准SQL语法,从而使得我们可以更灵活地和更容易地管理和操作SQLite数据库。SQLite是一个轻量级的数据库,它的优势在于易于使用、跨平台、灵活。无论是在Web开发,移动应用程序,数据分析还是其他场景,SQLite和Python的结合都提供了一个可行的解决方案。