前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python+MySQL

Python+MySQL

作者头像
py3study
发布2020-01-07 16:09:32
6210
发布2020-01-07 16:09:32
举报
文章被收录于专栏:python3

0、Windows下驱动:MySQLdb(仅支持Python2),pymysql(支持Python2/Python3,推荐使用pip安装)。

1、基本操作。

2、批量插入,用cursor.executemany。可参考python文件读取并使用mysql批量插入 。

3、关于测试连接是否有效,可用conn.ping()。如果参数为空,仅仅测试连接是否有效,无效即抛出异常。如果设置True参数,ping会尝试重连,(并保持自动重连这种特性),如果连接有效或重连成功,ping返回None;否则抛出异常。可参考一、二 。

4、异常捕获可参考:MySQLdb捕捉警告信息 。

5、pymssql连接方法:(参考PyMySQL·GitHub)

代码语言:javascript
复制
connection = pymysql.connect(host='localhost',
                             user='user',
                             passwd='passwd',
                             db='db',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

6、内存溢出问题。(参考:How to get a row-by-row MySQL ResultSet in python

(1)、对于MySQLdb

代码语言:javascript
复制
import MySQLdb
from MySQLdb import cursors
conn = MySQLdb.connect(host='127.0.0.1', 
                        user='user', 
                        passwd='passwd', 
                        db='dbname', 
                        charset='utf8mb4',
                        cursorclass = cursors.SSCursor, #这行是关键
                        port=3306)

(2)、对于pymysql

代码语言:javascript
复制
import pymysql
from pymysql import cursors
conn = MySQLdb.connect(host='127.0.0.1', 
                        user='user', 
                        passwd='passwd', 
                        db='dbname', 
                        charset='utf8mb4',
                        cursorclass = cursors.SSCursor, #这行是关键
                        port=3306)

(3)、或许这一步再控制更好。

代码语言:javascript
复制
cur = conn.cursor(cursors.SSCursor)

7、utf8mb4是utf8的超集,其中mb4指 most bytes 4。

8、用 pymysql 打印 MySQL/MariaDB 的所有库名、表名和字段名。

*** 2016-08-08 ***

  walker发现pymysql在不断执行sql语句时会有内存泄露(memory leak),同样条件下mysql-connector-python表现正常,所以现在walker推荐使用mysql-connector-python。MySQL的官方链接:MySQL Connector/Python Developer Guide。(或者到这里面查找mysql_connector)

相关阅读:

1、MySQL/MariaDB Tips

2、utf8mb4和utf8有什么区别?

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档