参考文章
安装 PyMySQL
通过 pip3
安装
在命令行执行以下语句(安装前请确认 python3
和 pip3
可用)
pip3 install PyMySQL
image.png
确认安装成功
image.png
创建账号与数据库
创建临时账号
可以直接使用 MySQL 的 root
账号来进行相关操作,也可以创建一个账号来进行相关操作
我创建了一个临时账号来进行下面的操作
用户名和密码如下
user=naive
password=this_is_a_passw0rd
创建数据库
后文的增删查改都在 localhost
的 study
库进行操作,请先在本机创建一个名为 study
的库
create database study;
image.png
给临时账号授权
创建成功后, 再给这个账号授权
grant all privileges on study.* to naive@localhost;
image.png
实战
现在开始增删查改的操作
先创建一张名为 Animal
的表
#!/usr/local/bin/python3
import pymysql
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='naive',
password='this_is_a_passw0rd',
db='study'
)
cur = conn.cursor()
cur.execute('''
CREATE TABLE `Animal` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`name` varchar(45) NOT NULL COMMENT '动物名称',
PRIMARY KEY (`id`)
) ENGINE=InnoDB CHARSET=utf8mb4 COMMENT='存储 动物id->动物名称 的映射关系的表'
''')
其中的 SQL 语句为
CREATE TABLE `Animal` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`name` varchar(45) NOT NULL COMMENT '动物名称',
PRIMARY KEY (`id`)
) ENGINE=InnoDB CHARSET=utf8mb4 COMMENT='存储 动物id->动物名称 的映射关系的表'
表的结构如下图
image.png
增
新增几条记录
#!/usr/local/bin/python3
import pymysql
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='naive',
password='this_is_a_passw0rd',
db='study'
)
cur = conn.cursor()
cur.execute('''
INSERT INTO `Animal` (`name`) VALUES ('东方青龙'), ('南方朱雀'), ('西方白虎'), ('北方玄武');
''')
conn.commit()
其中的 SQL 语句为
INSERT INTO `Animal` (`name`) VALUES ('东方青龙'), ('南方朱雀'), ('西方白虎'), ('北方玄武');
运行后表中数据如下图
image.png
删
#!/usr/local/bin/python3
import pymysql
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='naive',
password='this_is_a_passw0rd',
db='study'
)
cur = conn.cursor()
cur.execute('''
DELETE FROM `Animal` WHERE id = 4;
''')
conn.commit()
其中的 SQL 语句为
DELETE FROM `Animal` WHERE id = 4;
运行后表中数据如下图(id=4 的记录被删除了)
image.png
查
#!/usr/local/bin/python3
import pymysql
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='naive',
password='this_is_a_passw0rd',
db='study'
)
cur = conn.cursor()
cur.execute('''
SELECT `id`, `name` FROM `Animal`;
''')
print(cur.fetchall())
其中的 SQL 语句为
SELECT `id`, `name` FROM `Animal`;
运行结果为
image.png
改
#!/usr/local/bin/python3
import pymysql
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='naive',
password='this_is_a_passw0rd',
db='study'
)
cur = conn.cursor()
cur.execute('''
UPDATE `Animal` SET name = "東方青龍" WHERE id = 1;
''')
conn.commit()
其中的 SQL 语句为
UPDATE `Animal` SET name = "東方青龍" WHERE id = 1;
运行后表中数据如下图
image.png