首页 > 代码库 > Python 操作mysql
Python 操作mysql
pymysql
需要安装pymysql模块才能在python中使用MySQL
安装
pip3 install pymysql
若安装失败,需要升级pip版本
python -m pip install --upgrade pip
使用
1.执行mysql
1 import pymysql 2 3 # 创建连接 4 conn = pymysql.connect(host=‘127.0.0.1‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘t1‘) 5 # 创建游标 6 cursor = conn.cursor() 7 8 # 执行SQL,并返回收影响行数 effect_row可打印 9 effect_row = cursor.execute("update hosts set host = ‘1.1.1.2‘") 10 11 # 执行SQL,并返回受影响行数 12 # effect_row = cursor.execute("update hosts set host = ‘1.1.1.2‘ where nid > %s", (1,)) 13 14 # 执行SQL,并返回受影响行数 15 # effect_row = cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)]) 16 17 18 # 提交,不然无法保存新建或者修改的数据 19 conn.commit() 20 21 # 关闭游标 22 cursor.close() 23 # 关闭连接 24 conn.close()
2.获取新创建数据自增ID
增加多条数据用 executemany() 传的数据应为列表/元组中的元组,如[(),(),()]
自增ID: cursor.lastrowid
1 import pymysql 2 3 conn = pymysql.connect(host=‘127.0.0.1‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘t1‘) 4 cursor = conn.cursor() 5 cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)]) 6 conn.commit() 7 cursor.close() 8 conn.close() 9 10 # 获取最新自增ID 11 new_id = cursor.lastrowid
3.获取查询数据
1 import pymysql 2 3 conn = pymysql.connect(host=‘127.0.0.1‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘t1‘) 4 cursor = conn.cursor() 5 cursor.execute("select * from hosts") 6 7 # 获取第一行数据 8 row_1 = cursor.fetchone() 9 10 # 获取前n行数据 11 # row_2 = cursor.fetchmany(3) 12 # 获取所有数据 13 # row_3 = cursor.fetchall() 14 15 conn.commit() 16 cursor.close() 17 conn.close()
注意:在fetch数据时按照顺序进行,可以使用cursor.scroll(num, mode)来移动游标位置
- cursor.scroll(1,mode=‘relative‘) # 相对当前位置移动
- cursor.scroll(2,mode=‘absolute‘) # 相对绝对位置移动
4. fench数据类型
默认获取的数据是元组类型,要想字典类型则要把游标设置为字典类型
1 import pymysql 2 3 conn = pymysql.connect(host=‘127.0.0.1‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘t1‘) 4 5 # 游标设置为字典类型 6 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) 7 r = cursor.execute("call p1()") 8 9 result = cursor.fetchone() 10 11 conn.commit() 12 cursor.close() 13 conn.close()
Python 操作mysql
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。