时间:2021-07-01 10:21:17 帮助过:4人阅读
pymysql是python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。
下载安装
- <span style="font-family: ‘Microsoft YaHei‘;">pip3 install pymysql
- </span>
使用操作
1、执行SQL
- <span style="font-family: ‘Microsoft YaHei‘;">#!/usr/bin/env python
- # -*- coding:utf-8 -*-
- import pymysql
- # 创建连接
- conn = pymysql.connect(host=‘127.0.0.1‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘t1‘)
- # 创建游标
- cursor = conn.cursor()
- # 执行SQL,并返回收影响行数
- effect_row = cursor.execute("update hosts set host = ‘1.1.1.2‘")
- # 执行SQL,并返回受影响行数
- #effect_row = cursor.execute("update hosts set host = ‘1.1.1.2‘ where nid > %s", (1,))
- # 执行SQL,并返回受影响行数
- #effect_row = cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
- # 提交,不然无法保存新建或者修改的数据
- conn.commit()
- # 关闭游标
- cursor.close()
- # 关闭连接
- conn.close()
- </span>
2、获取新创建数据自增ID
- <span style="font-family: ‘Microsoft YaHei‘;">#!/usr/bin/env python
- # -*- coding:utf-8 -*-
- import pymysql
- conn = pymysql.connect(host=‘127.0.0.1‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘t1‘)
- cursor = conn.cursor()
- cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
- conn.commit()
- cursor.close()
- conn.close()
- # 获取最新自增ID
- new_id = cursor.lastrowid
- </span>
3、获取查询数据
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- import pymysql
- conn = pymysql.connect(host=‘127.0.0.1‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘t1‘)
- cursor = conn.cursor()
- cursor.execute("select * from hosts")
- # 获取第一行数据
- row_1 = cursor.fetchone()
- # 获取前n行数据
- # row_2 = cursor.fetchmany(3)
- # 获取所有数据
- # row_3 = cursor.fetchall()
- conn.commit()
- cursor.close()
- conn.close()
注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:
4、fetch数据类型
关于默认获取的数据是元祖类型,如果想要或者字典类型的数据,即:
- <span style="font-family: ‘Microsoft YaHei‘;">#!/usr/bin/env python
- # -*- coding:utf-8 -*-
- import pymysql
- conn = pymysql.connect(host=‘127.0.0.1‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘t1‘)
- # 游标设置为字典类型
- cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
- r = cursor.execute("call p1()")
- result = cursor.fetchone()
- conn.commit()
- cursor.close()
- conn.close()</span>
Python操作数据库
标签:mysq set commit 新建 upd 获取 close man last