pymysql
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了pymysql,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4473字,纯文字阅读大概需要7分钟。
内容图文
![pymysql](/upload/InfoBanner/zyjiaocheng/1333/cd02f6484d7348fa9eec4d351a6d031b.jpg)
Python3连接MySQL
本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用。
PyMySQL介绍
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
Django中也可以使用PyMySQL连接MySQL数据库。
PyMySQL安装
pip install pymysql
连接数据库
注意事项
在进行本文以下内容之前需要注意:
- 你有一个MySQL数据库,并且已经启动。
- 你有可以连接该数据库的用户名和密码
- 你有一个有权限操作的database
基本使用
# 导入模块 import pymysql # 获取链接 conn = pymysql.connect( host="127.0.0.1", #数据库地址 port=3306, #数据库端口号 user="root", #用户名 password="", #密码 database="db1", #要执行的数据库 charset="utf8" ) cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) #获取光标对象,括号内可以不写,这样写是返回字典格式的数据 sql="select * from userinfo;"#要执行的sql语句 cursor.execute(sql) #执行sql语句 ret=cursor.fetchall() cursor.close() #关闭光标对象 conn.close() #关闭链接print(ret)
增删改查操作
增
# 导入模块 import pymysql name=input("姓名") pwd=input("密码") #获取链接 conn = pymysql.connect( host="127.0.0.1", #数据库地址 port=3306, #数据库端口号 user="root", #用户名 password="", #密码 database="day59", #要执行的数据库 charset="utf8" ) cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) #获取光标对象,括号内可以不写,这样写是返回字典格式的数据 sql="insert into userinfo(name,pwd) values (%s,%s);"#要执行的sql语句 cursor.execute(sql,[name,pwd]) #执行sql语句 前面是语句,后面是一个课迭代的,按位置传 conn.commit() #提交(涉及对表格的修改,必须提交) cursor.close() #关闭光标对象 conn.close() #关闭链接
![技术分享图片](/img/jia.gif)
![技术分享图片](/img/jian.gif)
# 导入模块 import pymysql # 获取链接 conn = pymysql.connect( host="127.0.0.1", #数据库地址 port=3306, #数据库端口号 user="root", #用户名 password="", #密码 database="day59", #要执行的数据库 charset="utf8" ) cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) #获取光标对象,括号内可以不写,这样写是返回字典格式的数据 sql="insert into userinfo(name,pwd) values (%s,%s);"#要执行的sql语句 data = [("a","1"), #把要添加的数据放在一个列表里,然后执行sql时,把该列表放在后面 ("b","2"), ("c","3") ] cursor.execute(sql,data) #执行sql语句 前面是语句,后面是一个可迭代的,按位置传 conn.commit() #提交(涉及对表格的修改,必须提交) cursor.close() #关闭光标对象 conn.close() #关闭链接
插入数据失败回滚:conn.rollback()
import pymysql # 建立连接 conn = pymysql.connect( host="127.0.0.1", port=3306, # 不是字符串类型(不要加引号) user="root", password="123456", database="day59", charset="utf8"# 没有-!!!!) # 获取一个光标 cursor = conn.cursor() # 定义将要执行的SQL语句 sql1 = "insert into userinfo (name, pwd) values (%s, %s);" sql2 = "insert into book (name) values (%s);" name = "wangzhen2号" pwd = "123456" book_title = "Python从入门到放弃"try: # 拼接并执行SQL语句 cursor.execute(sql1, [name, pwd]) cursor.execute(sql2) # 报错的SQL语句# 涉及写操作注意要提交 conn.commit() except Exception as e: print(str(e)) # 有异常就回滚 conn.rollback() # 关闭连接cursor.close() conn.close()
获取插入数据的ID(关联操作时会用到)
import pymysql # 建立连接 conn = pymysql.connect( host="127.0.0.1", port=3306, # 不是字符串类型(不要加引号) user="root", password="123456", database="day59", charset="utf8"# 没有-!!!!) # 获取一个光标 cursor = conn.cursor() # 定义将要执行的SQL语句 sql = "insert into userinfo (name, pwd) values (%s, %s);" name = "wangzhen3号" pwd = "123456"# 拼接并执行SQL语句cursor.execute(sql, [name, pwd]) # 涉及写操作注意要提交conn.commit() # 获取最新的那一条数据的ID last_id = cursor.lastrowid print("最后一条数据的ID是:", last_id) cursor.close() conn.close()
删
# 导入模块 import pymysql # 获取链接 conn = pymysql.connect( host="127.0.0.1", #数据库地址 port=3306, #数据库端口号 user="root", #用户名 password="", #密码 database="day59", #要执行的数据库 charset="utf8" ) cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) #获取光标对象,括号内可以不写,这样写是返回字典格式的数据 sql="delete from userinfo where name=%s ;"#要执行的sql语句 name="liulin" cursor.execute(sql,[name]) #执行sql语句 前面是语句,后面是一个可迭代的,按位置传 conn.commit() #提交(涉及对表格的修改,必须提交) cursor.close() #关闭光标对象 conn.close() #关闭链接
改
import pymysql # 建立连接 conn = pymysql.connect( host="127.0.0.1", port=3306, # 不是字符串类型(不要加引号) user="root", password="123456", database="day59", charset="utf8"# 没有-!!!!) # 获取一个光标 cursor = conn.cursor() # 定义将要执行的SQL语句 sql = "update userinfo set pwd=%s where name=%s;"# 拼接并执行SQL语句 cursor.execute(sql, ["woshixinmima", "alex"]) # 涉及写操作注意要提交conn.commit() # 关闭连接 cursor.close() conn.close()
查
多种查询数据方法
import pymysql # 建立连接 conn = pymysql.connect( host="127.0.0.1", port=3306, # 不是字符串类型(不要加引号) user="root", password="123456", database="day59", charset="utf8"# 没有-!!!!) # 获取一个光标 # cursor = conn.cursor() # 默认返回元祖类型的数据 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 返回字典类型的数据 # 定义将要执行的SQL语句 sql = "select name, pwd from userinfo;"# 拼接并执行SQL语句cursor.execute(sql) # 取到查询结果 ret1 = cursor.fetchone() # 取一条 ret2 = cursor.fetchmany(3) # 取三条 # cursor.scroll(1, mode="absolute") # 绝对移动,你指哪儿 它就移到哪儿 cursor.scroll(1, mode="relative") # 相对移动, 相对它当前在的位置 cursor.scroll(-1, mode="relative") # 相对移动, 相对它当前在的位置 ret3 = cursor.fetchone() # 取一条 # ret = cursor.fetchall() # 取所有 # 关闭连接cursor.close() conn.close() print(ret1) print(ret2) print(ret3)
原文:https://www.cnblogs.com/pygg/p/8952837.html
内容总结
以上是互联网集市为您收集整理的pymysql全部内容,希望文章能够帮你解决pymysql所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。