在本章节中,咱们将学习 Python 中罕用的数据库接口,包含 sqlite3
(用于 SQLite 数据库)和 MySQLdb
(用于 MySQL 数据库)。
8.2.1 sqlite3 - SQLite 数据库
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()
8.2.2 MySQLdb - MySQL 数据库
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,能够简化数据库操作,进步代码可读性和可维护性。
举荐浏览:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g