引言SQLite3是一款轻量级的数据库引擎,它以其小巧、高效和跨平台的特点被广泛应用于嵌入式系统、移动应用和服务器端应用。本文将带领您从入门到精通,深入探索SQLite3的数据库编程精髓。第一节:SQ...
SQLite3是一款轻量级的数据库引擎,它以其小巧、高效和跨平台的特点被广泛应用于嵌入式系统、移动应用和服务器端应用。本文将带领您从入门到精通,深入探索SQLite3的数据库编程精髓。
SQLite3是一款自描述的、无服务器的、零配置的数据库引擎。它使用SQL作为数据存储和检索的语言,并且可以直接嵌入到应用程序中。
import sqlite3
# 连接到SQLite数据库
# 如果文件不存在,会自动在当前目录创建一个数据库文件
conn = sqlite3.connect('example.db')# 创建游标对象
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)''')
# 提交更改
conn.commit()# 插入单条数据
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Alice', 25, 'alice@example.com')")
# 提交更改
conn.commit()# 查询所有数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows: print(row)
# 关闭连接
conn.close()# 使用JOIN语句查询
cursor.execute("SELECT u.name, p.product_name FROM users u JOIN products p ON u.id = p.user_id")
rows = cursor.fetchall()
for row in rows: print(row)# 创建索引
cursor.execute("CREATE INDEX idx_age ON users (age)")
# 使用索引进行查询
cursor.execute("SELECT * FROM users WHERE age > 20")
rows = cursor.fetchall()
for row in rows: print(row)# 设置密码
conn.execute("PRAGMA key = 'secret_key'")
# 加密数据
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Bob', 30, 'bob@example.com')")
conn.commit()SQLite3是一款功能强大且易于使用的数据库引擎。通过本文的学习,您应该已经掌握了SQLite3的基本操作和高级特性。希望这些知识能够帮助您在数据库编程的道路上更加得心应手。