使用 pymysql 进行增删查改

参考文章

  1. 用python实现接口测试(四、操作MySQL)
  2. python3使用pymysql操作mysql

安装 PyMySQL

通过 pip3 安装

在命令行执行以下语句(安装前请确认 python3pip3 可用)

pip3 install PyMySQL
image.png

确认安装成功

image.png

创建账号与数据库

创建临时账号

可以直接使用 MySQL 的 root 账号来进行相关操作,也可以创建一个账号来进行相关操作
我创建了一个临时账号来进行下面的操作
用户名和密码如下

user=naive
password=this_is_a_passw0rd

创建数据库

后文的增删查改都在 localhoststudy 库进行操作,请先在本机创建一个名为 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容