- 6.2节: MySQLdb用法详解
- 已经是最后一篇了
广州番禺Python, Java小班周末班培训
薯条老师的线下Python,Java小班周末班已经开课了,培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Java后端开发。授课详情请点击:http://chipscoco.com/?cate=6
6.3.1 MySQLdb安装与用法
关于MySQLdb模块的安装与用法,详见http://chipscoco.com/?id=298与http://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,免费领取课程大纲
扫码免费领取学习资料:
- 6.2节: MySQLdb用法详解
- 已经是最后一篇了