本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用。这里我们没使用 mysql-connector 来连接使用 MySQL, mysql-connector 是 MySQL 官方提供的驱动器。
PyMySQL介绍
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
Django中也可以使用PyMySQL连接MySQL数据库。
PyMySQL安装
#终端中安装pymysql
pip install pymysql
Pycharm连接数据库出现如下错误:
RuntimeError: cryptography is required for sha256_password or caching_sha2_password
解决办法:
安装cryptography
pip install cryptography
我在安装cryptography时报错如下:error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
那是因为缺少C++编译器,python3 是用 VC++ 14 编译的, python27 是 C++ 9 编译的, 安装 python3 的包需要编译的也是要 C++ 14 以上支持的。因为有些程序需要使用,没有C++接口会报错
按照错误提示去官网https://visualstudio.microsoft.com/visual-cpp-build-tools/ 下载Microsoft C++ 生成工具,
然后安装的时候,选择如下图,并修改安装位置(如果C盘不够大)
安装完成重启机器后。
再次执行pip install cryptography, 然后又报错了,如下: error: command 'D:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29333\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
然后我bing.com搜到https://www.jianshu.com/p/ba5ec1748a4e ,修改了系统变量,添加了一个新的用户变量VCINSTALLDIR,把VC所在路径添加上
然后还提示我
You are using pip version 18.1, however version 20.3.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
于是我先执行python -m pip install --upgrade pip 更新了pip
然后再次执行pip install cryptography,终于成功!*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。
然后再次去执行py文件,如下:
import pymysql
name = input("Please input your name:")
# Connect to mysql from python by pymysql
conn = pymysql.connect(host="192.168.xxx.xxx", port=3306, user="root", password="xxxxxx", database="YOURDB")
cursor = conn.cursor() # get a cursor to wait for the input
sql = 'select * from YOURTB'
ret = cursor.execute(sql)
cursor.close()
conn.close()
if ret:
print("Success")
else:
print("Fail")