Python数据库编程实战:MySQL、MongoDB应用指南
Python是一种高级编程语言,被广泛应用于数据分析、人工智能、web开发等领域。而数据库是数据应用的核心,常见的数据库有MySQL、MongoDB等。Python对数据库的支持非常好,下面我们就来介绍一下如何用Python来实现数据库编程。
一、MySQL
MySQL是一个开源的关系型数据库管理系统,被广泛应用于web开发、数据分析等领域。Python通过pymysql模块提供了对MySQL的支持。下面我们就来看一下如何使用Python操作MySQL数据库。
1. 安装pymysql
使用pip命令可以很方便地安装pymysql模块:
```
pip install pymysql
```
2. 连接数据库
使用pymysql.connect()函数连接到MySQL数据库,需要指定主机名、用户名、密码、数据库名等参数:
```python
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 执行 SQL 查询
sql = "SELECT * FROM users"
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
# 输出结果
for row in results:
print(row)
# 关闭数据库连接
db.close()
```
3. 执行SQL语句
使用游标对象的execute()方法执行SQL语句,可以执行查询、插入、更新、删除等操作。下面是一些常见的SQL语句示例:
```python
# 查询
sql = "SELECT * FROM users WHERE age >= 18"
cursor.execute(sql)
# 插入
sql = "INSERT INTO users(name, age) VALUES('Tom', 20)"
cursor.execute(sql)
db.commit() # 提交事务
# 更新
sql = "UPDATE users SET age = age + 1 WHERE name = 'Tom'"
cursor.execute(sql)
db.commit()
# 删除
sql = "DELETE FROM users WHERE age < 18"
cursor.execute(sql)
db.commit()
```
4. 批量插入数据
如果需要批量插入数据,可以使用executemany()方法,例如:
```python
data = [('Alice', 18), ('Bob', 19), ('Cathy', 20)]
sql = "INSERT INTO users(name, age) VALUES(%s, %s)"
cursor.executemany(sql, data)
db.commit() # 提交事务
```
5. 使用with语句自动管理资源
为了避免忘记关闭数据库连接,我们可以使用with语句自动管理资源,例如:
```python
with pymysql.connect(host="localhost", user="root", password="123456", database="test") as db:
with db.cursor() as cursor:
sql = "SELECT * FROM users"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
print(row)
```
二、MongoDB
MongoDB是一个开源的文档数据库,被广泛应用于web开发、数据分析等领域。Python通过pymongo模块提供了对MongoDB的支持。下面我们就来看一下如何使用Python操作MongoDB数据库。
1. 安装pymongo
使用pip命令可以很方便地安装pymongo模块:
```
pip install pymongo
```
2. 连接数据库
使用pymongo.MongoClient()函数连接到MongoDB数据库,需要指定主机名、端口号等参数:
```python
import pymongo
# 连接 MongoDB
client = pymongo.MongoClient("mongodb://localhost:27017/")
# 获取数据库
db = client["test"]
# 获取集合
collection = db["users"]
# 查询数据
results = collection.find()
for result in results:
print(result)
```
3. 插入数据
使用collection.insert_one()方法插入一条数据,例如:
```python
data = {"name": "Tom", "age": 20}
collection.insert_one(data)
```
4. 批量插入数据
如果需要批量插入数据,可以使用collection.insert_many()方法,例如:
```python
data = [{"name": "Alice", "age": 18},
{"name": "Bob", "age": 19},
{"name": "Cathy", "age": 20}]
collection.insert_many(data)
```
5. 更新数据
使用collection.update_one()方法更新一条数据,例如:
```python
filter = {"name": "Tom"}
update = {"$set": {"age": 21}}
collection.update_one(filter, update)
```
6. 删除数据
使用collection.delete_one()方法删除一条数据,例如:
```python
filter = {"name": "Tom"}
collection.delete_one(filter)
```
以上就是使用Python操作MySQL和MongoDB的基本方法,通过这些方法可以实现数据查询、插入、更新、删除等操作。