python pymysql模块下载_Python pymysql-utils包_程序模块 - PyPI - Python中文网

pymysql实用程序模块

pymysql_utils包通过

python比它的底层包更像python mysqlclient

(以前称为mysql-python)或替代的底层包

pymysql。可以选择mysqlclient或pymysql作为

PyyyqLL uUTLS的建立。

常用mysql操作的方便方法,如

管理表、插入、更新和查询

可用。查询结果是具有next()和

nextall()方法

测试时间:OSMySQLPythonmacosmysql 8.03.7

macosmysql 8.02.7

ubuntu 16.04 Xenialmysql 5.73.6

ubuntu 16.04 Xenialmysql 5.72.7

快速启动frompymysql_utils.pymysql_utilsimportMySQLDB# Create a database instance. For one approach to# dealing with password-protected databases, see# the Tips Section below.db=MySQLDB(user='myName',db='myDb')mySchema={'col1':'INT','col2':'varchar(255)',}db.createTable('myTable',mySchema)# Fill the table:colNames=['col1','col2']colValues=[(10,'row1'),(20,'row2'),(30,'row3'),]db.bulkInsert('myTable',colNames,colValues)# Result objects are iterators:forresultindb.query('SELECT col2 FROM myTable ORDER BY col1'):print(result)# row1# row2# row3

更详细一点

数据库连接封装在

MySQLDB。此实例可以维护多个查询

同时。每个查询结果都是一个iterator对象

从中可以一个接一个地检索结果元组,

使用next(),或者同时使用nextall()。这是

交叉多个查询的示例。假设

上表myTable在数据库中填充。query_str1='''SELECT col2FROM myTableORDER BY col1'''query_str2='''SELECT col2FROM myTableWHERE col1 = 20OR col1 = 30ORDER BY col1'''results1=db.query(query_str1)results2=db.query(query_str2)# Result objects know their total result count:results1.result_count()# --> 3results2.result_count()# --> 2# The db object can retrieve the result count# by the query string:db.result_count(query_str1)# --> 3results1.next()# --> 'row1'results2.next()# --> 'row2'results1.next()# --> 'row2'results2.next()# --> 'row3'results1.next()# --> 'row3'results2.next()# --> raises StopIterationresults2.result_count()# --> raises ValueError: query exhausted.

提示:许多方法返回一个包含警告列表的二元组,以及

错误列表。

可以方便地完成许多频繁的sql操作

通过专门的方法:close,createTable,dropTable,insert,

bulkInsert、truncateTable和update。

这些或其他操作也可以通过使用

execute()提交任意sql

对于已知返回单个结果的查询,这是一个有用的习惯用法,

例如计数:

db.query('...').next()

底层的mysqlclient包不公开mysql 5.7+

登录路径选项。因此MySQLDB()调用需要包含

密码(如果需要)。一种避免将密码放入

您的代码是将密码放入一个受保护的文件中

目录,例如~/.ssh/mysql。然后从那里读取密码。

安装# Possibly in a virtual environment:

pip install pymysql_utils

python setup.py install

# Testing requires a bit of prep in the local MySQL:# a database 'unittest' must be created, and a user# 'unittest' without password must have permissions:### CREATE DATABASE unittest;# CREATE USER unittest@localhost;# GRANT SELECT, INSERT, UPDATE, DELETE,# CREATE, DROP, ALTER# ON `unittest`.* TO 'unittest'@'localhost';# The unittests give these instructions as well.# python setup.py test

选择“仅python”或“c-python”

默认情况下,pymysql实用程序使用mysqlclient,因此基于c

MySQL服务器的API。有时可能需要使用

仅限python的解决方案。您可以强制pymysql实用程序使用

pymysql库而不是mysqlclient。

只强制使用python的一个原因是

OpenSSL 1.1.1[a,b,c]和mysqlclient(截至2017年7月29日)。

要让pymysql实用程序使用python-only pymysql库,请执行以下操作:将pymysql_utils/pymysql_utils_SAMPLE.cnf复制到

pymysql_utils/pymysql_utils.cnf

在这个新的配置文件中,更改FORCE_PYTHON_NATIVE= False

to

FORCE_PYTHON_NATIVE= True

欢迎加入QQ群-->: 979659372

推荐PyPI第三方库

你可能感兴趣的:(python,pymysql模块下载)