SQLite是一种轻量级的关系型数据库,它以其简单易用、资源占用小、无需服务器支持等特点,成为Python开发者进行数据存储和查询的常用工具。本文将详细介绍如何使用Python操作SQLite数据库,包括数据库的创建、表的创建与操作、数据的插入、查询、更新和删除等。
数据库基础知识
1. 什么是数据库?
数据库是一个有组织的集合,用于存储、管理和检索数据。数据库系统能够确保数据的一致性、安全性和完整性。
2. SQLite与MySQL的区别
- SQLite:嵌入式数据库,适合小型应用。数据库存储在单个文件中,支持ACID事务。
- MySQL:关系数据库管理系统,适合大型应用。需要服务器支持,支持多用户并发,提供更复杂的功能,如存储过程、触发器等。
使用SQLite
2.1 安装与导入SQLite
SQLite通常是Python标准库的一部分,无需额外安装。你只需导入sqlite3
模块即可使用。
import sqlite3
2.2 创建SQLite数据库与连接
你可以使用sqlite3.connect()
函数创建或连接到一个SQLite数据库。
# 创建或连接到SQLite数据库
connection = sqlite3.connect('example.db')
2.3 创建表
使用SQL语句创建表。以下是一个创建用户表的示例。
# 创建表
def create_table():
with connection:
cursor = connection.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS users
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
email TEXT UNIQUE)''')
数据操作
3.1 插入数据
使用INSERT INTO
语句插入数据。
# 插入数据
def insert_data():
with connection:
cursor = connection.cursor()
cursor.execute("INSERT INTO users (name, age, email) VALUES (?, ?, ?)",
('Alice', 25, 'alice@example.com'))
connection.commit()
3.2 查询数据
使用SELECT
语句查询数据。
# 查询数据
def query_data():
with connection:
cursor = connection.cursor()
cursor.execute("SELECT * FROM users")
results = cursor.fetchall()
for row in results:
print(row)
3.3 更新数据
使用UPDATE
语句更新数据。
# 更新数据
def update_data():
with connection:
cursor = connection.cursor()
cursor.execute("UPDATE users SET age = ? WHERE name = ?",
(26, 'Alice'))
connection.commit()
3.4 删除数据
使用DELETE
语句删除数据。
# 删除数据
def delete_data():
with connection:
cursor = connection.cursor()
cursor.execute("DELETE FROM users WHERE name = ?", ('Alice',))
connection.commit()
总结
通过以上步骤,你可以轻松地使用Python和SQLite进行数据存储和查询。SQLite的轻量级和易用性使其成为Python开发者进行数据管理的理想选择。在实际应用中,你可以根据需要调整数据库结构、数据操作逻辑,以满足不同的业务需求。