Python常用数据库接口sqlite3和MySQLdb学习指南
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()
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,可以简化数据库操作,提高代码可读性和可维护性
更多关于Python数据库接口的资料请关注脚本之家其它相关文章!
相关文章
Python EOL while scanning string literal问题解决方法
这篇文章主要介绍了Python EOL while scanning string literal问题解决方法,本文总结出是数据库数据出现问题导致这个问题,需要的朋友可以参考下2015-04-04
最新评论