• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Mayushin
博客园    首页    新随笔    联系   管理    订阅  订阅
接口测试day2——数据库(使用pymysql库对mysql数据库进行增删改查)

操作流程

  1. 创建连接
  2. 获取游标
  3. 执行sql
    1. 查询操作(select)
    2. 非查询操作(insert/update/delete)
      1. 事务提交(连接对象.commit())
      2. 事务回滚(连接对象.rollback())
  4. 关闭游标
  5. 关闭连接

数据准备

CREATE DATABASE if not EXISTS books DEFAULT charset utf8;
use books;
Drop TABLE if EXISTS `t_book`;
CREATE TABLE `t_book`(
`id` int(11) not null auto_increment,
`title` VARCHAR(20) not NULL COMMENT '图书名称',
`pub_date` date not NULL COMMENT '发布日期',
`read` int(11) not null default '0' comment '阅读量',
`comment` int(11) not null default '0' comment '评论量',
`is_delete` TINYINT(1) not NULL DEFAULT '0' COMMENT '逻辑删除',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='图书表';
INSERT into `t_book` VALUES ('1','射雕英雄传','1980-05-01','12','34','0');
INSERT into `t_book` VALUES ('2','天龙八部','1986-07-24','36','40','0');
INSERT into `t_book` VALUES ('3','笑傲江湖','1995-12-24','20','80','0');
Drop TABLE if EXISTS `t_hero`;
CREATE TABLE `t_hero`(
`id` int(11) not null auto_increment,
`name` VARCHAR(20) not NULL COMMENT '姓名',
`gender` SMALLINT(6) not NULL COMMENT '性别',
`description` VARCHAR(200) default NULL comment '描述',
`is_delete` TINYINT(1) not NULL DEFAULT '0' COMMENT '逻辑删除',
`book_id` int(11) not null comment '所属图书ID',
PRIMARY KEY(`id`),
key `t_hero_book_id`(`book_id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='英雄人物表';
INSERT into `t_hero` VALUES ('1','郭靖','1','降龙十八掌','0','1');
INSERT into `t_hero` VALUES ('2','黄蓉','0','打狗棍法','0','1');
INSERT into `t_hero` VALUES ('3','乔峰','1','降龙十八掌','0','2');
INSERT into `t_hero` VALUES ('4','令狐冲','1','独孤九剑','0','3');
INSERT into `t_hero` VALUES ('5','任盈盈','0','弹琴','0','3');

数据库基本操作

1 连接数据库

获取数据库版本信息

SELECT VERSION() //数据库语句
# 导包
import 数据库增删改查利用pymysql
import pymysql
# 创建连接
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='anmeiyu',
    passwd='anmeiyu',
    database='books')
# 获取游标
cursor = conn.cursor()
# 执行sql
cursor.execute('select version()')
result = cursor.fetchone()
print(result)
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

2 数据库查询操作

# 导包
import 数据库增删改查利用pymysql
import pymysql
#创建连接
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='root',
    database='books'
)
# 获取游标
cursor = conn.cursor()
# 执行sql语句
# 2).查询图书表的数据(包括:图书id、图书名称、阅读量、评论量)
cursor.execute('SELECT id,title,pub_date,`read`,`comment`FROM t_book')
# 3).获取查询结果的总记录数
print("获取的查询结果记录行数为:",cursor.rowcount)
# 4).获取查询结果的第一条数据
# print(cursor.fetchone())
# 5).获取全部的查询结果
result = cursor.fetchall()
print(result)
# for row in result:
#     print(row)
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

3 数据库插入操作

# 导包
import pymysql
# 创建连接
# 1).连接到数据库(host:localhost user:root password:root database:books)
conn = pymysql.connect(host="localhost",
                        port=3306,
                        user="root",
                        password="root",
                        database="books",
                        autocommit=True)
# 获取游标
cursor = conn.cursor()
# 执行sql
# 新增一条图书数据(id:4 title:西游记 pub_date:1986-01-01 )
sql = "insert into t_book(id, title, pub_date) values(4, '西游记', '1986-01-01');"
cursor.execute(sql)
# 3).获取受影响的结果记录数
print("影响的结果记录数为:", cursor.rowcount)
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

4 数据库更新操作

# 导包
import pymysql
# 创建连接
# 1).连接到数据库(host:localhost user:root password:root database:books)
conn = pymysql.connect(host="localhost",
                        port=3306,
                        user="root",
                        password="root",
                        database="books",
                        autocommit=True)
# 获取游标
cursor = conn.cursor()
# 执行sql
# 更新[西游记]图书名称为(title:东游记)
sql = "update t_book set title = '东游记' where title = '西游记' ;"
cursor.execute(sql)

# 3).获取受影响的结果记录数
print("影响的结果记录数为:", cursor.rowcount)
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

5 数据库删除操作

# 导包
import pymysql
# 创建连接
# 1).连接到数据库(host:localhost user:root password:root database:books)
conn = pymysql.connect(host="localhost",
                        port=3306,
                        user="root",
                        password="root",
                        database="books",
                        autocommit=True)
# 获取游标
cursor = conn.cursor()
# 执行sql
# 更新[西游记]图书名称为(title:东游记)
sql = "delete from t_book where title = '东游记' ;"
cursor.execute(sql)

# 3).获取受影响的结果记录数
print("影响的结果记录数为:", cursor.rowcount)
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
posted on 2025-05-27 12:03  a小安同学  阅读(20)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3