在当今的数据驱动的世界中,数据库操纵是编程中的一个核心技能。Python,作为一种广泛利用的编程言语,供给了丰富的库来与各品种型的数据库交互,包含关联型数据库(如MySQL跟SQLite)跟非关联型数据库(如MongoDB跟Redis)。本篇文章将经由过程实战案例,揭秘Python数据库操纵的精华,帮助读者轻松入门。
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()
利用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()
利用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)
利用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'))
经由过程以上实战案例,我们可能看到Python在操纵差别范例的数据库时的便利性。无论是关联型数据库还长短关联型数据库,Python都供给了响应的库来简化操纵。经由过程进修跟现实这些案例,读者可能轻松入门Python数据库操纵,并在现实项目中应用这些技能。