Python3.7操作MySQL8.0.15数据库

亲们,久等了,终于有时间讲一下Python3操作MySQL数据库了,真可谓“千呼万唤始出来,犹抱琵琶半遮面”。
1 不用我多说,应该都知道,Python连接数据库的前提是:MySQL已经安装并启动了。没安装的,先去MySQL官网下载安装包。官网上64位的只有压缩包,那就下载mysql-8.0.15-winx64.zip并进行解压缩。在mysql-8.0.15-winx64目录下新建my.ini文件,内容如下:
[mysqld]
# 设置3306端口
port=3306
# 自定义设置mysql的安装目录,即解压mysql压缩包的目录
basedir=D:\\software\\mysql-8.0.15-winx64
# 自定义设置mysql数据库的数据存放目录
【Python3.7操作MySQL8.0.15数据库】datadir=D:\\software\\mysql-8.0.15-winx64\\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口和默认字符集
port=3306
default-character-set=utf8
2 为了方便在【终端】执行相关命令,需要配置环境变量。每个环境变量之间用分号; 隔开。Windows 7右键【计算机】-【属性】-【高级系统设置】-【环境变量】-【PATH】输入MySQL路径:D:\software\mysql-8.0.15-winx64\bin。
Python3.7操作MySQL8.0.15数据库
文章图片
以管理员的身份打开cmd窗口。用d:或D:切换到D盘路径,并cd D:\software\mysql-8.0.15-winx64\bin,运行:mysqld --initialize –console初始化数据库,记下生成的初始化密码:11Si>l#s*y,k 。运行mysqld --install ,把MySQL安装成服务,并通过net start mysql启动MySQL的服务。
Python3.7操作MySQL8.0.15数据库
文章图片
3 默认的密码太复杂了,我们把它改成:psd12345。以管理员身份打开cmd窗口。运行:mysql -uroot -p接着输入密码进行确认。
# 显示数据库,记得后面加分号;
show databases;
# 选择mysql数据库,记得后面加分号;
use mysql;
# 更改密码,记得后面加分号;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'psd12345';
Python3.7操作MySQL8.0.15数据库
文章图片
下载Navicat绿色版软件,连接MySQL数据库。
Python3.7操作MySQL8.0.15数据库
文章图片
新建数据库pytest,新建表students, 字段id(int,自动增长),name(varchar(255)) ,随便输入一些内容。我输入了西门吹水、小李飞剑。
Python3.7操作MySQL8.0.15数据库
文章图片
4 Python要连接数据库,得有驱动,咱现在就来安装PyMySQL驱动。以管理员身份打开命令行窗口,运行:pip3 install PyMySQL 。
Python3.7操作MySQL8.0.15数据库
文章图片
用PyCharm或Eclipse等开发工具编写Python代码。
import pymysql
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='psd12345', db='pytest')
cur = conn.cursor()
cur.execute('select *from students')
for students in cur.fetchall():
print("学生:", students[1])
cur.close()
conn.close()
Python3.7操作MySQL8.0.15数据库
文章图片

    推荐阅读