本篇内容介绍了“Python中的pymysql如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
pymysql是可用于[连接mysql]数据库,且能够提供mysql与python窗口来交互创立通道的工具库。可以通过创建引擎,建立游标直接通过python编程实现mysql数据库操作。在开发和分析可形成线性脚本。是广泛使用的库。
首先要安装mysql库的话要提前加载该库的依赖:
ython – one of the following:
CPython >= 3.6
Latest PyPy 3
MySQL Server – one of the following:
MySQL >= 5.6
MariaDB >= 10.0
python版本3.6就可,mysql版本需5.6以上。
打开cmd,在菜单打入cmd即可进入黑框命令提示符:
输入:
pip install PyMySQL
若有anaconda直接在Enviroment上搜索pymysql:
下载完即可使用。
这里使用Jupyter展示使用:
首先先导入库:
import pymysql
在连接数据库之前,你数据库里面肯定要有东西,不然会报错。可以先在数据库中创建一个数据库,创建表格并写入数据。
create database mysql use mysql create table metric_valuestest
数据用插入得到方式或是在图形界面工具,如Navicat上插入都可:
已有数据库记得打开数据库:
net start mysql
官方文档连接格式:
# Connect to the database connection = pymysql.connect(host='localhost', user='user', password='passwd', database='db', port = '3306' charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)
参数说明:
host:为本机IP地址,当然hosts文件里面localhost就是本机ip地址127.0.0.1所以不需要修改。
user:使用者的名字,可写可不写。一般为admin管理员。
password:进入你数据库的密码。创建mysql的时候需要设定密码,就是那个密码。
database:使用的数据库名字
port:端口号,一般为3306
charset:编码格式,一般为utf8.
cursorclass:[数据库连接池]返回结果类型设置。
运行测试连接是否成功。成功便可进行下一步
连接好了数据库,我们需要创建一个游标用于模拟我们使用mysql的行为。创建游标后在没关闭数据库之前都可以正常使用且可以不限次数使用。
# 使用 cursor() 方法创建一个游标对象 cursor cursor = conn.cursor()
创建游标后,游标cursor自带execute()函数可以执行SQL语句,成功则返回结果:
如我们想要显示所有的数据库:
sql='show databases' cursor.execute(sql)
该语句执行成果后会返回语句数量
想要具体看到执行结果可以添加fetchall()函数:
sql='show databases' response1=cursor.execute(sql) response2=cursor.fetchall() response2
当使用游标cursor.execute(sql)方法查询数据执行成功后,我们可以通过后缀函数获取查询的结果集:
其中max_stmt_length= 1024000。 所有的增删改查都可以以字符串的形式传入sql,再有execute传入sql进行操作执行。
Connection类提供了三个方法: begin 开始事务, commit 提交事务, rollback 回滚事务,如果通过 sql 语句对数据库中的数据进行了修改, 则需要提交事务。
database.commit()
rollback()为回退到上一步操作,若发生其他错误带来不可预知的错误,可以与try except联合起来一起使用,返回到语句没有执行的状态。
主要使用方式:结合try except捕获异常,将事务进行rollback回滚。
try: db.commit() except Exception as e: db.rollback()
关闭有close()方法,在程序结束时需要建立的连接即建立的游标资源释放掉,避免资源的浪费。
“Python中的pymysql如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。