匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

Python数据库编程实战:MySQL、MongoDB应用指南

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的基本方法,通过这些方法可以实现数据查询、插入、更新、删除等操作。