在本章节中,我们将学习 Python 中常用的数据库接口,包括 sqlite3
(用于 SQLite 数据库)和 MySQLdb
(用于 MySQL 数据库)。
SQLite 是一款轻量级、无需安装、零配置的嵌入式关系数据库。Python 自带 sqlite3
库,无需额外安装。以下是一个简单的 sqlite3
使用示例。
import sqlite3 # 连接数据库(如果不存在,将自动创建) conn = sqlite3.connect('sqlite_example.db') # 创建游标 cursor = conn.cursor() # 创建 users 表 cursor.execute(''' CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER NOT NULL, email TEXT ) ''') # 提交更改并关闭连接 conn.commit() conn.close()
conn = sqlite3.connect('sqlite_example.db') cursor = conn.cursor() # 插入数据 cursor.execute("INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com')") # 提交更改 conn.commit() # 关闭连接 conn.close()
conn = sqlite3.connect('sqlite_example.db') cursor = conn.cursor() # 查询数据 cursor.execute('SELECT * FROM users') # 获取查询结果 result = cursor.fetchall() for row in result: print(row) # 关闭连接 conn.close()
conn = sqlite3.connect('sqlite_example.db') cursor = conn.cursor() # 更新数据 cursor.execute("UPDATE users SET age = 31 WHERE name = 'Alice'") conn.commit() # 删除数据 cursor.execute("DELETE FROM users WHERE id = 1") conn.commit() # 关闭连接 conn.close()
MySQLdb
是一个用于连接 MySQL 数据库的 Python 库。在使用之前,需要先安装:
pip install mysqlclient
注:MySQLdb
仅支持 Python 2.x 版本,如果你使用的是 Python 3.x,可以使用 mysqlclient
,它是 MySQLdb
的 Python 3.x 分支。
以下是一个简单的 MySQLdb
使用示例。
import MySQLdb # 连接数据库 conn = MySQLdb.connect(host='localhost', user='your_username', passwd='your_password', db='mydb') # 创建游标 cursor = conn.cursor() # 创建 users 表 cursor.execute(''' CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT NOT NULL, email VARCHAR(100) ) ''') # 提交更改并关闭连接 conn.commit() conn.close()
conn = MySQLdb.connect(host='localhost', user='your_username', passwd='your_password', db='mydb') cursor = conn.cursor() # 插入数据 cursor.execute("INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com')") # 提交更改 conn.commit() # 关闭连接 conn.close()
conn = MySQLdb.connect(host='localhost', user='your_username', passwd='your_password', db='mydb') cursor = conn.cursor() # 查询数据 cursor.execute('SELECT * FROM users') # 获取查询结果 result = cursor.fetchall() for row in result: print(row) # 关闭连接 conn.close()
conn = MySQLdb.connect(host='localhost', user='your_username', passwd='your_password', db='mydb') cursor = conn.cursor() # 更新数据 cursor.execute("UPDATE users SET age = 31 WHERE name = 'Alice'") conn.commit() # 删除数据 cursor.execute("DELETE FROM users WHERE id = 1") conn.commit() # 关闭连接 conn.close()
以上就是 Python 中常用的数据库接口 sqlite3
和 MySQLdb
的使用示例。学习这些知识点时,建议你亲自动手操作,逐渐积累经验。在实际项目中,你可能会遇到更复杂的场景,需要根据实际情况选择适当的数据库操作和优化策略。同时,编写易于维护和扩展的代码也很重要,如使用 ORM(Object-Relational Mapping,对象关系映射)库,例如 SQLAlchemy 和 Django ORM,可以简化数据库操作,提高代码可读性和可维护性。