Python连接MySQL数据库的三种方法详解
需积分: 3 67 浏览量
更新于2024-09-01
收藏 248KB PDF 举报
Python 操作 MySQL 数据库的三种方法总结
Python 是一种流行的编程语言,而 MySQL 是一种流行的关系数据库管理系统。在实际开发中,我们经常需要使用 Python 操作 MySQL 数据库。因此,本文将总结 Python 操作 MySQL 数据库的三种方法。
方法一:使用 MySQLdb
MySQLdb 是用于 Python 连接 MySQL 数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL CAPI 上建立的。使用 MySQLdb,我们可以轻松地连接和操作 MySQL 数据库。
安装 MySQLdb
要使用 MySQLdb,我们首先需要安装它。我们可以从 PyPI 官方网站下载 MySQL-python 的源代码,然后按照以下步骤安装:
1. 下载 MySQL-python 的源代码:https://pypi.python.org/pypi/MySQL-python
2. 解压缩源代码:$tar zxvf MySQL-python-*.tar.gz
3. 进入源代码目录:$cd MySQL-python-*
4. 编译和安装:$python setup.py build && python setup.py install
使用 MySQLdb
下面是一个使用 MySQLdb 连接 MySQL 数据库的示例代码:
```python
#!/usr/bin/env python
#coding=utf-8
import MySQLdb
def connect_db():
print('连接到 mysql 服务器')
# 打开数据库连接
db = MySQLdb.connect("localhost", "hp", "Hp12345.", "TESTDB")
print('连接上了!')
return db
def create_table(db):
# 使用 cursor() 方法获取操作游标
cursor = db.cursor()
# 如果存在表 Student 先删除
cursor.execute("DROP TABLE IF EXISTS Student")
sql = """CREATE TABLE Student (
ID CHAR(10) NOT NULL,
Name CHAR(8),
Grade INT
)"""
# 创建 Student 表
cursor.execute(sql)
def insert_db(db):
# 使用 cursor() 方法获取操作游标
cursor = db.cursor()
# SQL 插入语句
sql = """INSERT INTO Student
VALUES ('001', 'CZQ', 70),
('002', 'LHQ', 80),
('003', 'MQ', 90),
('004', 'WH'"""
cursor.execute(sql)
```
在上面的代码中,我们首先使用 `connect_db` 函数连接到 MySQL 数据库,然后使用 `create_table` 函数创建一个名为 `Student` 的表,最后使用 `insert_db` 函数将数据插入到 `Student` 表中。
方法二:使用 pymysql
pymysql 是另一个流行的 Python 连接 MySQL 数据库的库。它的使用方法与 MySQLdb 类似,但提供了更多的功能和更好的性能。
方法三:使用 SQLAlchemy
SQLAlchemy 是一个 Python 的 ORM(Object-Relational Mapping)工具,它提供了一个高级的抽象层来访问数据库。使用 SQLAlchemy,我们可以使用 Python 对象来操作 MySQL 数据库,而不需要编写原始的 SQL 语句。
本文总结了 Python 操作 MySQL 数据库的三种方法,每种方法都有其优缺点。开发者可以根据实际情况选择合适的方法来操作 MySQL 数据库。
2024-09-06 上传
2018-01-09 上传
2021-11-12 上传
2020-12-25 上传
2020-12-25 上传
2020-12-24 上传
2020-12-16 上传
2021-01-20 上传
weixin_38676500
- 粉丝: 9
- 资源: 915
最新资源
- node-selenium-driver-filedetector:具有文件检测器绑定的节点网络驱动程序
- spring-boot-graphql
- remixed2recipes
- 星级酒店预定主题响应式模板
- 企业门户网站管理系统,包括前台展示、后台管理、后端服务(Node.js、Koa、sequelize、MySQL),前.zip
- cordova-plugin-mmedia:千禧一代媒体广告的CordovaPhoneGap
- Lita:公司聊天室的机器人伴侣-开源
- eslint-plugin-jsx-extras:一组Eslint插件,用于基于应用程序的特定JSX规则
- bls_custom:粘在一起将Blocky Survival Minetest服务器固定在一起
- 进口玻璃磨边机PLC程序.rar
- Schizo-crx插件
- angular-starter:基于angularJS框架的全初始化前端项目
- javascript-dom-exercises-2.3
- TheGrid:按键游戏
- autotrader-scraper:用于刮擦自动交易器网站以获取汽车图像的工具。 我用它们来训练神经网络
- 库:通用功能的声明。 存储库的内容不属于GNU C库