注册 登录
MySQL基础教程

第一章: 环境搭建,安装MySQL

第二章: 掌握数据库的核心概念

第三章: MySQL服务与Show命令

第四章: 创建数据库与数据表

第五章: MySQL增查改删

第六章: 在Python中操作MySQL

首页 > MySQL基础教程 > 第六章: 在Python中操作MySQL > 6.3节: MySQLdb代码实例

6.3节: MySQLdb代码实例

薯条老师 2021-12-10 17:17:25 154540 0

编辑 收藏

广州番禺Python, Java小班周末班培训

薯条老师的线下Python,Java小班周末班已经开课了,培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Java后端开发。授课详情请点击:http://chipscoco.com/?cate=6

6.3.1 MySQLdb安装与用法

关于MySQLdb模块的安装与用法,详见http://chipscoco.com/?id=298http://chipscoco.com/?id=299

6.3.2 MySQLdb模块代码实例

请读者按照以下步骤来一步步操作。

(1) 先构造一个数据库连接对象:

import MySQLdb
# DATABASES用来定义数据库连接的配置信息,读者需根据你本地的数据库配置来进行相应修改
DATABASES = {
    "mysql": {
        "host": "localhost",
        "username": "登录账号",
        "password": "登录密码",
        "name": "数据库名",
        "port": 3306,
        "charset": "utf8"
    },
}

# 执行MySQLdb模块的connect方法来构造一个连接对象
db = MySQLdb.connect(host=DATABASES["mysql"]["host"],
                     user=DATABASES["mysql"]["username"],
                     password=DATABASES["mysql"]["password"],
                     db=DATABASES["mysql"]["name"],
                     port=DATABASES["mysql"]["port"],
                     charset=DATABASES["mysql"]["charset"] 
                     )

(2) 再构造一个游标对象

# 执行数据库连接对象的cursor方法来构造一个连接对象
curosr = db.cursor()

构造好游标对象以后,就可以对数据库进行增删改查。
(3) 查询商品表中的数据

# 查询商品表中的数据
sql = "select id,name,price from goods where id = %s"
# 通过游标对象的execute方法来执行sql语句
# 由于在sql中使用了占位符%s,所以在调用execute方法时,需要传递对应的实参,以构造一个SQL语句。
cursor.execute(sql, (2, ))
# 执行fetchone方法来获取游标中的一条记录
rows = cursor.fetchone()
print(rows)

(4) 往数据表中更新、插入、删除数据

读者需注意,往数据表中更新、插入、删除数据时,最后需再执行commit方法来提交当前的所有事务操作。

sql = "insert into goods(name, price) values(%s, %s)"
# 通过executemany方法来批量插入多条数据。
# executemany方法中的args所对应的实参应传递一个嵌套的序列类型,序列中的每一项对应一条记录
affected_rows = cursor.executemany(sql, [("湖南辣条", 39), ("东北大米", 118)])
if affected_rows > 0:
    # 不要忘记执行连接对象的commit方法
    db.commit()

程序执行完毕以后,再进入MySQL交互模式中,查询是否插入成功。

mysql> use chipscoco;
Database changed
mysql> select id,name,price from goods;
+----+--------------+-------+
| id | name         | price |
+----+--------------+-------+
|  2 | 云南白药     |    28 |
|  3 | 湖南辣条     |    19 |
|  5 | 湖南辣条     |    38 |
|  6 | 云南白药     |    19 |
|  8 | 云南白药     |    23 |
|  9 | 青岛啤酒     |    21 |
| 10 | 湖南辣条     |    39 |
| 11 | 东北大米     |   118 |
+----+--------------+-------+
8 rows in set (0.01 sec)

从select的输出可知,在Python代码中插入数据成功。

6.2.6 高薪就业班

(1) Python后端工程师高薪就业班,月薪10K-15K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪10K-20K, 免费领取课程大纲
(4) Python大数据工程师就业班,月薪12K-25K,免费领取课程大纲

扫码免费领取学习资料:



欢迎 发表评论:

请登录

忘记密码我要注册

注册账号

已有账号?请登录