无锡网站的优化,新媒体营销推广渠道,logo在线设计生成器小程序,网站的建设公司哪个好目录
一、数据库操作应用场景
二、安装PyMysql
三、事务的概念
四、数据库的准备
五、PyMysql连接数据库
1、建立连接方法
2、入门案例
六、PyMysql操作数据库
1、数据库查询
1️⃣查询操作流程
2️⃣cursor游标
3️⃣查询常用方法
4️⃣案例
5️⃣异常捕获
…目录
一、数据库操作应用场景
二、安装PyMysql
三、事务的概念
四、数据库的准备
五、PyMysql连接数据库
1、建立连接方法
2、入门案例
六、PyMysql操作数据库
1、数据库查询
1️⃣查询操作流程
2️⃣cursor游标
3️⃣查询常用方法
4️⃣案例
5️⃣异常捕获
2、数据库UID
1️⃣更新操作流程
2️⃣案例增删改操作 一、数据库操作应用场景
1、校验测试数据
接口发送请求后明确会对数据库中的某个字段进行修改但响应结果中无该字段数据时。 ⚪如ihrm 删除员工接口。 is_delete 字段没有在响应结果中出现 需要借助数据库校验
2、构造测试数据
测试数据使用一次就失效。 ⚪如ihrm 添加员工接口使用的手机号
测试前无法保证测试数据是否存在。 ⚪如ihrm 查询员工接口使用的员工id
二、安装PyMysql
pip install PyMySQL -i https://pypi.douban.com/simple/
操作步骤 1. 导包 import pymysql
2. 创建连接。 conn pymysql.connect(hostport, user, password, database, charset)
3. 获取游标。 cursor conn.cursor()
4. 执行 SQL。 cursor.execute( ”sql语句“ ) 查询语句select 处理结果集提取数据fetch* 增删改语句insert、update、delete 成功提交事务 conn.commit() 失败回滚事务 conn.rollback()
5. 关闭游标。cursor.close()
6. 关闭连接。conn.close()
三、事务的概念
更详细的介绍MySQL数据库04|内置函数、存储过程、视图、事务、索引-CSDN博客
事务是关系型数据库mysql特有的概念。事务可以看做一个虚拟的容器在容器中存放一系列的数据库操作看做一个整体。内部的所有操作要 么都一次性全部成功只要有一个失败就全部失败事务操作只有 2 种情况 ⚪提交conn.commit() ⚪回滚: conn.rollback()
四、数据库的准备
参考资料
博客资料看第一部分中的SQL演练文章浏览阅读2.8k次点赞2次收藏21次。文章目录前言# 第一部分:数据库练习准备数据创建数据表插入数据SQL演练1. SQL语句的强化2. 创建商品分类表3. 同步表数据4. 创建“商品品牌表”表5. 同步数据6. 修改表结构7. 外键外键取消外键其实在设计定义数据库的时候就已经确定了要不要使用外键比如下面的逻辑。8. 其实就是多创建一个表然后从原来的表上使用外键进行关联下面代码可以一次性复制粘贴进行联系# 第二部分Python 操作 MySQL1. 初尝python与mysql交互2. pymysql查询数据库、面向对象3. p_python mysql数据库练习https://blog.csdn.net/haojie_duan/article/details/122760852
github代码看第7部分的2和3MySQL学习. Contribute to wmh02240/MySQL-Notes development by creating an account on GitHub.https://github.com/wmh02240/MySQL-Notes/tree/master/MySQL%E5%9F%BA%E7%A1%80/7.MySQL%E4%B8%8EPython%E4%BA%A4%E4%BA%92
视频资料【数据库查询】11-数据库设计_哔哩哔哩_bilibili【数据库查询】11-数据库设计是【python教程】MySQL数据库的第20集视频该合集共计36集视频收藏或关注UP主及时了解更多相关视频内容。https://www.bilibili.com/video/av56919275?vd_source6069c4cff3b2c943460de92f0c37ea38spm_id_from333.788.videopod.episodesp20 五、PyMysql连接数据库
1、建立连接方法 conn pymysql.connect(host, port0, user, password, database, charset) host数据库所在主机 IP地址 - string port数据库使用的 端口号 - int user连接数据库使用的 用户名 - string password连接数据库使用的 密码 - string database要连接的那个数据库的名字 - string charset字符集。常用 utf8 - string conn连接数据库的对 象。 2、入门案例
查询数据库获取MySQL服务器 版本信息
# 1. 导包
import pymysql# 2. 建立连接
conn pymysql.connect(hostlocalhost, port3306, userroot,password123456, databasejingdong, charsetutf8)# 3. 获取游标
cursor conn.cursor()# 4. 执行 sql 语句查询
cursor.execute(select version())# 5. 获取结果
res cursor.fetchone()
print(res , res[0])# 6. 关闭游标
cursor.close()# 7. 关闭连接
conn.close()
六、PyMysql操作数据库
查询语法
select 字段1字段2... from 表 where 条件示例select idtitle, pub_date from t_book where title 读者;添加语法
insert into 表名字段1 字段2 ... values值1 值2 ...;示例insert into t_book(id, title, pub_date) values(17, 红楼梦, 2021-11-11);更新语法
update 表名 set 字段名 字段值 where 条件示例update t_book set title 三国 where id 17;删除语法
delete from 表名 where 条件示例delete from t_book where title 三国;
1、数据库查询
1️⃣查询操作流程 2️⃣cursor游标
3️⃣查询常用方法
fetchone()从结果集中提取一行。fetchmany(size)从结果集中提取 size 行。fetchall()提取所有结果集。
以上三个方法取得的结果都和游标的位置有关都是从游标的下一个位置开始提取行。
属性rownumber可以设置游标位置。想让游标回到起始位置的话设置其为0即可。
4️⃣案例
查询goods表获取第一条数据
查询goods表获取前两条数据
查询goods表获取全部数据
查询goods表获取第3条和第4条 数据
# 1. 导包
import pymysql# 2. 建立连接
conn pymysql.connect(hostlocalhost, port3306, userroot,password123456, databasejingdong, charsetutf8)# 3. 获取游标
cursor conn.cursor() # 指向 0 号位置。# 4. 执行 sql 语句查询--- goods
cursor.execute(select * from goods;)# 5. 获取结果 - 提取第一条
res1 cursor.fetchone()
print(res1 , res1)# 修改游标位置回零
cursor.rownumber 0
# 5. 获取结果 - 提取前 2 条
res2 cursor.fetchmany(2)
print(res2 , res2)# 修改游标位置回零
cursor.rownumber 0
res3 cursor.fetchall()
print(res3 , res3)# 修改游标位置指向第 2 条记录
cursor.rownumber 2
res4 cursor.fetchmany(2)
print(res4 , res4)# 6. 关闭游标
cursor.close()# 7. 关闭连接
conn.close()
5️⃣异常捕获
try:尝试执行的代码
except Exception as err有错误出现时执行的代码
finally无论有没有错误都会执行的代码 # 1. 导包
import pymysql# 定义全局变量初值为 None
conn None
cursor Nonetry:# 2. 建立连接conn pymysql.connect(hostlocalhost, port3306, userroot,password123456, databasejingdong, charsetutf8)# 3. 获取游标cursor conn.cursor() # 指向 0 号位置。# 4. 执行 sql 语句查询--- goodscursor.execute(select * from goods;)# 5. 获取结果 - 提取第一条res1 cursor.fetchone()print(res1 , res1)# 修改游标位置回零cursor.rownumber 0# 5. 获取结果 - 提取前 2 条res2 cursor.fetchmany(2)print(res2 , res2)# 修改游标位置回零cursor.rownumber 0res3 cursor.fetchall()print(res3 , res3)# 修改游标位置指向第 2 条记录cursor.rownumber 2res4 cursor.fetchmany(2)print(res4 , res4)except Exception as err:print(查询语句执行出错:, str(err))finally:# 6. 关闭游标cursor.close()# 7. 关闭连接conn.close()
2、数据库UID
1️⃣更新操作流程 2️⃣案例增删改操作 单独实现如下操作 ①新增一条商品数据 ②把商品id为22的商品名称name改为“修改后修改后xxxxx” ③删除商品id为22的商品 【补充】pymysql中事务的开始通常是隐式的。也就是说当你第一次执行 INSERT、UPDATE 或 DELETE 等操作时数据库会自动为你启动一个事务而你不需要显式调用 begin 来开始事务。
插入数据 新增一条商品数据
insert into goods values (0,测试测试测试英寸笔记本,1,1,2999,default,default);
【注意】插入的第3和4列数据有外键约束必须得是有效的数据能和另一个表的主键对应上
1. 导包
2. 创建连接
3. 获取游标
4. 执行 insert 语句
5. 提交/回滚事务
6. 关闭游标
7. 关闭连接
# 1. 导包
import pymysql# 定义全局变量
conn None
cursor Nonetry: # 2. 创建连接 connpymysql.connect(hostlocalhost, port3306, userroot,password123456, databasejingdong, charsetutf8) # 3. 获取游标 cursor conn.cursor()# 4. 执行 insert 语句cursor.execute(insert into goods values (0,测试测试测试英寸笔记本,1,1,2999,default,default);)# 查看 sql执行影响多少行 print(影响的行数, conn.affected_rows())# 5. 提交事务 conn.commit()except Exception as err: print(插入数据错误, str(err)) # 回滚事务 conn.rollback()finally: # 6. 关闭游标 cursor.close() # 7. 关闭连接 conn.close()修改数据 把商品id为22的商品名称name改为“修改后修改后xxxxx”
update goods set name修改后修改后英寸笔记本 where id22;1. 导包
2. 建立连接
3. 获取游标
4. 执行 update语句
5. 提交、回滚事务
6. 关闭游标
7. 关闭连接
import pymysqlconn None
cursor None
try:conn pymysql.connect(hostlocalhost, port3306, userroot,password123456, databasejingdong, charsetutf8)cursor conn.cursor()cursor.execute(update goods set name修改后修改后英寸笔记本 where id22;)print(影响的行数,conn.affected_rows())conn.commit()except Exception as err:print(修改数据操作出错,str(err))conn.rollback()finally:cursor.close()conn.close()
删除数据 删除id为22的商品信息
delete from goods where id22;1. 导包
2. 建立连接
3. 获取游标
4. 执行 delete 语句
5. 提交、回滚事务
6. 关闭游标
7. 关闭连接
import pymysqlconn None
cursor None
try:conn pymysql.connect(hostlocalhost, port3306, userroot,password123456, databasejingdong, charsetutf8)cursor conn.cursor()cursor.execute(delete from goods where id22;)print(影响的行数,conn.affected_rows())conn.commit()except Exception as err:print(删除数据操作出错,str(err))conn.rollback()finally:cursor.close()conn.close() 全部内容
PyMysql 01|包含超详细项目实战连接数据库、增删改查、异常捕获-CSDN博客
PyMysql 01|包含超详细项目实战数据库工具类封装-CSDN博客