📜  Python SQLite教程(1)

📅  最后修改于: 2023-12-03 14:46:04.415000             🧑  作者: Mango

Python SQLite教程

在Python中,我们可以使用SQLite来进行轻量级的数据库操作。SQLite是一个嵌入式的数据库,它不需要一个单独的服务器进程来进行操作,而是直接读写一个文件。

本教程将介绍如何使用Python中内置的sqlite3模块来对SQLite数据库进行操作。

连接到SQLite数据库

首先,我们需要建立与SQLite数据库的连接。我们可以使用sqlite3模块中的connect()方法来进行连接,并将数据库文件的路径以字符串的形式传入该方法。

import sqlite3

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

此时,如果当前路径下不存在名为example.db的文件,connect()方法会自动创建该文件。

创建表格

接着,我们需要在数据库中创建表格。我们可以通过执行SQL的方式来实现该功能。首先,我们需要使用cursor()方法来创建一个游标对象。

import sqlite3

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

# 创建表格
cursor.execute('''CREATE TABLE users
                (id INT PRIMARY KEY     NOT NULL,
                name           TEXT    NOT NULL,
                age            INT     NOT NULL);''')

# 提交事务
conn.commit()

上述代码中,我们使用execute()方法来执行SQL语句。这里我们创建了一个名为users的表格,包含三个字段:idnameage

插入数据

有了表格之后,我们需要往其中插入数据。同样地,我们可以使用execute()方法来执行SQL语句。

import sqlite3

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

# 插入数据
cursor.execute("INSERT INTO users (id, name, age) \
                  VALUES (1, 'Tom', 20)")
cursor.execute("INSERT INTO users (id, name, age) \
                  VALUES (2, 'Jerry', 21)")
cursor.execute("INSERT INTO users (id, name, age) \
                  VALUES (3, 'Mickey', 22)")

# 提交事务
conn.commit()
查询数据

数据插入完成之后,我们可以使用SELECT语句来查询数据。同样地,我们可以使用execute()方法来执行SQL语句,并使用fetchall()方法来获取查询结果。

import sqlite3

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

# 查询数据
cursor.execute("SELECT * FROM users")
result = cursor.fetchall()

# 打印结果
for row in result:
    print(row)

上述代码中,我们使用SELECT * FROM users语句来查询users表格中的所有数据,并使用fetchall()方法来获取查询结果,即所有数据的元组列表。

更新数据

假设现在有一位名为Mickey的用户年龄已经发生了变化,我们需要更新该用户的记录。同样地,我们可以使用UPDATE语句来执行该操作。

import sqlite3

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

# 更新数据
cursor.execute("UPDATE users SET age = 23 WHERE name = 'Mickey'")

# 提交事务
conn.commit()

上述代码中,我们使用UPDATE语句来更新名为Mickey的用户的年龄,将其修改为23。最后,我们需要通过commit()方法来提交事务。

删除数据

最后,假设现在我们要删除名为Tom的用户记录。同样地,我们可以使用DELETE语句来进行删除操作。

import sqlite3

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

# 删除数据
cursor.execute("DELETE from users WHERE name='Tom'")

# 提交事务
conn.commit()

上述代码中,我们使用DELETE语句来删除名为Tom的用户记录,并通过commit()方法来提交事务。

关闭连接

完成所有操作之后,我们需要使用close()方法来关闭连接。

import sqlite3

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

# 执行操作

# 关闭连接
conn.close()
总结

本教程介绍了如何使用sqlite3模块来对SQLite数据库进行操作,包括连接到数据库、创建表格、插入数据、查询数据、更新数据和删除数据等操作。SQLite是一种轻量级的数据库,适用于嵌入式系统和移动设备等场景下的数据存储。