1. 引言
在当今的数据驱动的世界中,数据库操作是编程中的一个核心技能。Python,作为一种广泛使用的编程语言,提供了丰富的库来与各种类型的数据库交互,包括关系型数据库(如MySQL和SQLite)和非关系型数据库(如MongoDB和Redis)。本篇文章将通过实战案例,揭秘Python数据库操作的精髓,帮助读者轻松入门。
2. 关系型数据库操作
2.1 SQLite数据库操作
SQLite是一个轻量级的嵌入式数据库,非常适合小型应用和本地开发。以下是一个使用Python的sqlite3模块操作SQLite数据库的简单示例:
import sqlite3
# 连接数据库(如果不存在则自动创建)
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)''')
# 插入数据
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Alice', 25, 'alice@example.com')")
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Bob', 30, 'bob@example.com')")
# 提交更改
conn.commit()
# 查询数据
cursor.execute("SELECT * FROM users")
for row in cursor.fetchall():
print(row)
# 关闭连接
conn.close()
2.2 MySQL数据库操作
使用PyMySQL模块可以轻松地操作MySQL数据库。以下是一个简单的示例:
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', user='yourusername', password='yourpassword', database='yourdatabase')
# 创建游标对象
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)''')
# 插入数据
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Alice', 25, 'alice@example.com')")
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Bob', 30, 'bob@example.com')")
# 提交更改
conn.commit()
# 查询数据
cursor.execute("SELECT * FROM users")
for row in cursor.fetchall():
print(row)
# 关闭连接
cursor.close()
conn.close()
3. 非关系型数据库操作
3.1 MongoDB数据库操作
使用PyMongo模块可以方便地操作MongoDB数据库。以下是一个简单的示例:
from pymongo import MongoClient
# 连接到MongoDB
client = MongoClient('localhost', 27017)
# 选择数据库
db = client['mydatabase']
# 选择集合(类似SQL的表)
collection = db['users']
# 插入数据
collection.insert_one({"name": "Alice", "age": 25, "email": "alice@example.com"})
collection.insert_one({"name": "Bob", "age": 30, "email": "bob@example.com"})
# 查询数据
for user in collection.find():
print(user)
3.2 Redis数据库操作
使用redis-py模块可以操作Redis数据库。以下是一个简单的示例:
import redis
# 连接到Redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 设置键值
r.set('name', 'Alice')
r.set('age', 25)
# 获取值
print(r.get('name'))
print(r.get('age'))
4. 总结
通过以上实战案例,我们可以看到Python在操作不同类型的数据库时的便利性。无论是关系型数据库还是非关系型数据库,Python都提供了相应的库来简化操作。通过学习和实践这些案例,读者可以轻松入门Python数据库操作,并在实际项目中运用这些技能。