前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python3连接mysql

python3连接mysql

作者头像
py3study
发布于 2020-01-03 08:29:42
发布于 2020-01-03 08:29:42
1.7K00
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行

python3 连接mysql数据库,执行操作。

环境: os: windows 2008 python: python 3.5.3

之前用过python3连接sqlite3数据库,只是作为单机数据库使用,但后来提供web服务时,sqlite3数据库支持的不够好,转而使用mysql数据库。

python3连接数据库使用pymysql模块。

下面总结一下,写成类方便使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class ConMysql:

    def __init__(self, host, username, password, database):
                self._database = database
                self._host = host
                self._user = username
                self._passwd = password

        def connect(self):
            """连接数据库,执行SQL语句,返回元组"""

                #连接数据库
                try:
                    self._db = pymysql.connect(self._host, self._user, self._passwd, self._database)
                except (ConnectionRefusedError, pymysql.err.OperationalError, pymysql.err.InternalError) as _con_err:
                    return False, _con_err
                else:
                        return True, 'OK'

        def get_data(self, _sql_str, s='r'):
                # 查询
                _cur = self._db.cursor()
                try:
                        _cur.execute(_sql_str)
                except (pymysql.err.InternalError, pymysql.err.OperationalError, pymysql.err.ProgrammingError) as _sql_err:
                        _cur.close()
                        return False, _sql_err
                if s == 'r'
                        _cur.close()
                        _array = _cur.fetchall()
                        return True, _array
                else:
                        _cur.close()
                        self._db.commit()
                        return True, 'OK'

        def edit_data(self, _sql_str):
                # 修改
                return self.get_data(_sql_str, 'w')

        def __del__(self):
                self._db.close()

这里读数据库没有问题,在插入或修改时会报错,因为编码的问题,pymysql默认会把所以的sql字符串编译成byte,为了避免错误可以添加两个参数,use_unicode=True, charset='utf8'。其实在实例化时还有很多可选参数,详细的可以查看文档或你已经安装的源代码connection。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python量化数据仓库搭建系列2:Python操作数据库
本系列教程为量化开发者,提供本地量化金融数据仓库的搭建教程与全套源代码。我们以恒有数(UDATA)金融数据社区为数据源,将金融基础数据落到本地数据库。教程提供全套源代码,包括历史数据下载与增量数据更新,数据更新任务部署与日常监控等操作。
算法爱好者
2021/10/27
1.2K0
Python 操作 MySQL 的正确姿势
serena
2017/04/24
6.1K3
Python mysql连接池
Python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接MySQL数据库请求时,都是独立的去请求访问,相当浪费资源,而且访问数量达到一定数量时,对mysql的
IT架构圈
2018/05/31
6.7K1
python-MySQLdb的二三事
追寻 介绍 mysqldb是python操作mysql数据库的一个库.mysql的几乎所有的操作都可以实现,另外,mysqldb的一些比较的option让数据操作更符合pythonic风格.在python2系列使用Mysqldb,在python3系列使用pymysql和mysql.connect. Mysqldb的安装 下面按python2系列安装 1. pip方式安装 pip install MySQL-python 2. yum安装 sudo yum install python-mysqldb
若与
2018/04/25
2.9K1
python-MySQLdb的二三事
Python3 MySQL 数据库连接 - PyMySQL 驱动
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2 中则使用 mysqldb
十二惊惶
2024/02/28
5440
Python3_MySQL数据库连接 - PyMySQL 驱动
如果数据库连接存在我们可以使用execute()方法来为数据库创建表,如下所示创建表EMPLOYEE:
程序猿的栖息地
2022/04/29
1.8K0
Python3_MySQL数据库连接 - PyMySQL 驱动
python3连接MySQL数据库
环境:python 3.6.1 + mysql 5.1 Python3 支持用 pymysql 模块来链接数据库 1、pymysql安装 windows下:pip install pymysql 直接安装 官方文档:http://www.pymssql.org/en/stable/ 2、实现思路 和用C++访问数据库方法基本相同 A. 通过pymysql模块的方法,与数据库建立连接 B. 编写SQL语句 C. 通过连接的返回的数据库对象,调用相应方法执行SQL语句 D. 读取数据库返回的数据(即缓存区中
py3study
2020/01/09
3.9K0
python3连接MySQL数据库
pymysql ︱mysql的基本操作与dbutils+PooledDB使用
python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
悟乙己
2021/12/07
5.1K0
pymysql ︱mysql的基本操作与dbutils+PooledDB使用
[227]python数据库连接池DBUtils.PooledDB
DBUtils 是一套用于管理数据库连接池的包,为高频度高并发的数据库访问提供更好的性能,可以自动管理连接对象的创建和释放。最常用的两个外部接口是 PersistentDB 和 PooledDB,前者提供了单个线程专用的数据库连接池,后者则是进程内所有线程共享的数据库连接池。
周小董
2022/04/12
2.1K0
爬虫系列:使用 MySQL 存储数据
上一篇文章我们讲解了爬虫如何存储 CSV 文件,这篇文章,我们讲解如何将采集到的数据保存到 MySQL 数据库中。
太后
2021/12/09
2.9K0
爬虫系列:使用 MySQL 存储数据
用python实现接口测试(四、操作MySQL)
使用Python进行MySQL的库主要有三个,Python-MySQL(更熟悉的名字可能是MySQLdb),PyMySQL和SQLAlchemy。
用户6367961
2019/09/29
1.1K0
数据库编程练习
db_count = Connect(host='localhost',port=3306,database='python_db',user='root',password='mysql',charset='utf8')
小闫同学啊
2019/07/18
8310
Pymysql 连接池操作
在用python写后端服务时候,需要与mysql数据库进行一些数据查询或者插入更新等操作。启动服务后接口运行一切正常, 隔了第二天去看服务日志就会报错,问题如下:
用户3578099
2020/11/03
4.4K0
Python对mysql数据库操作
使用MySQLdb模块。下载地址:http://sourceforge.net/projects/mysql-python/
WindCoder
2018/09/20
1.2K0
Python接入mysql数据库 原
右侧有个database,点开后左上角有个“+”符号,选择Data Source-Mysql
晓歌
2018/08/15
7350
Python接入mysql数据库
                                                                            原
【Python】已解决:pymysql.err.OperationalError:(2003 “Can’t connect to MySQL server on ‘localhost’ ([WinEr
在使用Python的pymysql库连接本地MySQL数据库时,有时会遇到“pymysql.err.OperationalError:(2003 “Can’t connect to MySQL server on ‘localhost’ ([WinError 10061] 由于计算机积极拒绝,无法连接。)””的错误。这个错误通常发生在尝试建立数据库连接的时候,意味着Python客户端无法与运行在localhost上的MySQL服务器建立连接。
屿小夏
2025/05/22
2730
python 数据库连接池 DBUtils 源码解析
一说到数据库连接池,java 中有很多选择,C3P0、DBCP、Proxool、Tomcat-JDBC、druid 等等等等,五花八门,有着多种多样的特性,可是在 python 中,选择就没有那么多了。 主页君了解到的开源可靠的 python 数据库连接池只有 DBUtils。 DBUtils 作为一个通用数据库连接池,实现非常简洁,功能比较完善,本文我们就来析精剖微,深入源码,详细看看 DBUtils 是如何实现的。
用户3147702
2022/06/27
3.4K0
python 数据库连接池 DBUtils 源码解析
Python使用技巧之MySQL数据库增删改查操作
在写sql语句的时候,需要避免直接写sql语句,而是采用占位符的方式来,防止sql的注入。
水煮麥楽雞
2022/11/20
1.9K0
使用python将csv文件快速转存到mysql
因为一些工作需要,我们经常会做一些数据持久化的事情,例如将临时数据存到文件里,又或者是存到数据库里。
我被狗咬了
2019/09/23
6.8K0
使用python将csv文件快速转存到mysql
码农技术炒股之路——数据库管理器、正则表达式管理器
        我选用的数据库是Mysql。选用它是因为其可以满足我的需求,而且资料多。因为作为第三方工具,难免有一些配置问题。所以本文也会讲解一些和Mysql配置及开发相关的问题。(转载请指明出于breaksoftware的csdn博客)
方亮
2019/01/16
6850
相关推荐
Python量化数据仓库搭建系列2:Python操作数据库
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档