Python 数据库编程:MySQL 和 MongoDB 实战应用 随着云计算、大数据、人工智能等技术的不断发展,数据已经成为企业和个人不可或缺的资源。为了更好地管理和利用数据,数据库成为了必不可少的工具。而 Python 作为一门广泛应用的编程语言,也具备了成为数据库编程利器的实力。本文将介绍 Python 在 MySQL 和 MongoDB 上的实战应用。 MySQL 数据库编程 MySQL 是目前世界上最流行的关系型数据库之一,拥有广泛的应用场景。Python 通过 MySQL Connector 模块提供了对 MySQL 的支持,该模块可以通过 pip 安装,安装命令如下: ``` pip install mysql-connector-python ``` MySQL Connector 提供了丰富的 API,可以完成 MySQL 数据库的增删改查操作。下面是一个连接并查询 MySQL 数据库的示例代码: ```python import mysql.connector # 连接数据库 mydb = mysql.connector.connect( host="localhost", user="root", password="passwd", database="testdb" ) # 查询数据 mycursor = mydb.cursor() mycursor.execute("SELECT * FROM customers") result = mycursor.fetchall() for row in result: print(row) ``` 在上面的代码中,我们首先使用 mysql.connector.connect() 方法连接到本地的 MySQL 数据库,并指定了用户名、密码和数据库名称。 接下来,我们创建了一个游标对象 mycursor,使用它执行 SQL 查询语句,并使用 fetchall() 方法获取查询结果。最后,我们遍历结果集并打印出来。 除了查询,MySQL Connector 还提供了 insert、update 和 delete 等操作,下面是一个插入数据的示例代码: ```python import mysql.connector # 连接数据库 mydb = mysql.connector.connect( host="localhost", user="root", password="passwd", database="testdb" ) # 插入数据 mycursor = mydb.cursor() sql = "INSERT INTO customers (name, address) VALUES (%s, %s)" val = ("John", "Highway 21") mycursor.execute(sql, val) mydb.commit() print(mycursor.rowcount, "record inserted.") ``` 在上面的代码中,我们使用 execute() 方法执行了一条 SQL 插入语句,并通过 commit() 方法提交了事务。 MongoDB 数据库编程 MongoDB 是一种流行的 NoSQL 数据库,采用了文档模型,非常适合存储和查询半结构化数据。Python 通过 PyMongo 模块提供了对 MongoDB 的支持,可以通过 pip 安装,安装命令如下: ``` pip install pymongo ``` PyMongo 提供了灵活而强大的 API,可以完成 MongoDB 数据库的增删改查等操作。下面是一个连接并查询 MongoDB 数据库的示例代码: ```python import pymongo # 连接数据库 myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] # 查询数据 for x in mycol.find(): print(x) ``` 在上面的代码中,我们使用 pymongo.MongoClient() 方法连接到本地的 MongoDB 数据库,并指定了数据库的名称。接下来,我们获取了一个集合对象 mycol,使用它执行查询操作,并通过 find() 方法查询了所有文档。 除了查询,PyMongo 还提供了 insert_one、update_one 和 delete_one 等操作,下面是一个插入数据的示例代码: ```python import pymongo # 连接数据库 myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] # 插入数据 mydict = { "name": "John", "address": "Highway 21" } x = mycol.insert_one(mydict) print(x.inserted_id) ``` 在上面的代码中,我们使用 insert_one() 方法执行了插入操作,并通过 inserted_id 属性获取了插入的文档 ID。 总结 本文介绍了 Python 在 MySQL 和 MongoDB 上的实战应用,通过 MySQL Connector 和 PyMongo 提供的丰富 API,我们可以轻松地完成对数据库的增删改查等操作。当然,这些只是数据库编程中的基本操作,更复杂的应用场景还需要更加深入的学习和实践。