【轻松上手Python数据库操作】SQLite教程全解析

发布时间:2025-05-23 00:32:00

引言

SQLite是一款轻量级的嵌入式数据库,以其玲珑、高效跟易于利用而驰名。在Python中,我们可能利用内置的sqlite3模块来操纵SQLite数据库。本文将具体介绍怎样利用Python停止SQLite数据库的基本操纵,包含连接数据库、创建表、拔出数据、查询数据等。

安装跟导入sqlite3模块

因为sqlite3是Python的内置模块,因此无需额定安装。只有确保Python情况已正确安装,即可利用sqlite3模块。

import sqlite3

连接数据库

要连接SQLite数据库,可能利用sqlite3.connect()函数。该函数接收一个参数,即数据库文件的道路。假如文件不存在,则会主动创建。

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

创建表

利用cursor.execute()方法可能履行SQL语句。以下是一个创建名为users的表的示例:

cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    age INTEGER,
    email TEXT UNIQUE
)
''')

拔出数据

拔出数据同样利用cursor.execute()方法。以下是一个拔出数据的示例:

cursor.execute("INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com')")
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Bob', 25, 'bob@example.com')")

提交变动

在履行拔出、更新或删除操纵后,须要利用conn.commit()方法来提交变动。

conn.commit()

查询数据

查询数据同样利用cursor.execute()方法。以下是一个查询全部用户数据的示例:

cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
    print(row)

封闭连接

在实现全部数据库操纵后,应封闭数据库连接。

conn.close()

高等技能

事件处理

SQLite支撑事件处理,这意味着你可能将多个SQL语句组剖析一个事件。以下是一个示例:

cursor.execute("BEGIN TRANSACTION")
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Charlie', 35, 'charlie@example.com')")
cursor.execute("UPDATE users SET age = age + 1 WHERE name = 'Alice'")
cursor.execute("ROLLBACK")

预编译语句

预编译语句可能进步机能,并避免SQL注入攻击。以下是一个利用预编译语句的示例:

cursor.execute("INSERT INTO users (name, age, email) VALUES (?, ?, ?)", ('Dave', 40, 'dave@example.com'))

批量拔出

批量拔出数据可能明显进步机能。以下是一个批量拔出数据的示例:

users = [
    ('Eve', 45, 'eve@example.com'),
    ('Frank', 50, 'frank@example.com')
]
cursor.executemany("INSERT INTO users (name, age, email) VALUES (?, ?, ?)", users)

总结

经由过程本文的讲解,信赖你曾经控制了利用Python操纵SQLite数据库的基本技能。SQLite是一个功能富强且易于利用的数据库,非常合适小型项目跟挪动利用。盼望本文能帮助你更好地利用SQLite跟Python停止数据存储跟管理。