当前位置: 首页> 科技> 数码 > 网站平台推广方法_上海城隍庙门票多少钱_网站建设费用多少钱_网站需要怎么优化比较好

网站平台推广方法_上海城隍庙门票多少钱_网站建设费用多少钱_网站需要怎么优化比较好

时间:2025/8/9 2:47:17来源:https://blog.csdn.net/weixin_42830015/article/details/143631283 浏览次数:0次
网站平台推广方法_上海城隍庙门票多少钱_网站建设费用多少钱_网站需要怎么优化比较好

文章目录

  • 一、pymysql库
  • 二、事务命令

一、pymysql库

python关于mysql的API用pymysql库实现。pymysql是Python中操作MySQL的模块。先安装该模块:conda install pymysql


import pymysql#添加数据
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123456', db='s3')cursor = conn.cursor()sql = "create table test (id int, name varchar(20))"
sql = "insert into test values(1,'A1'),(2,'A2')"ret = cursor.execute(sql)   # 执行Sql语句
print(ret)  # 返回影响的行数
import pymysql#添加数据
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123456', db='s3')cursor = conn.cursor()# sql = "insert into test values(1,'A1'),(2,'A2')"
sql = "update test set name='BB' where id =1"ret = cursor.execute(sql)   # 执行Sql语句conn.commit()   # 插入/更新数据后,需要提交,数据库才能保存该数据
cursor.close()  # 关闭游标
conn.close()    # 关闭数据库连接
import pymysql#查询数据
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123456', db='s3')cursor = conn.cursor()cursor.execute("select * from test")    # 需要先执行该语句,才能执行后续语句one = cursor.fetchone()     # 查询游标后一条记录
print(one)many = cursor.fetchmany(2)  # 查询游标后两条语句
print(many)all = cursor.fetchall()     # 查询游标后,所有语句
print(all)conn.commit()   # 插入/更新数据后,需要提交,数据库才能保存该数据
cursor.close()  # 关闭游标
conn.close()    # 关闭数据库连接
import pymysql#查询数据
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123456', db='s3')cursor = conn.cursor()cursor.execute("SELECT * FROM TEST")    # 需要先执行该语句,才能执行后续语句one=cursor.fetchone()
print(one)cursor.scroll(-1,mode='relative')  # 相对当前位置,向前移动1行
one=cursor.fetchone()
print(one)cursor.scroll(3,mode='absolute') # 绝对位置移动,移动到第3行结尾
one=cursor.fetchone()   # 显示第4行
print(one)conn.commit()   # 插入/更新数据后,需要提交,数据库才能保存该数据
cursor.close()  # 关闭游标
conn.close()    # 关闭数据库连接
import pymysql# 查询数据
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123456', db='s3')# 更改获取数据结果的数据类型,默认是元组,可以改为字典
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)cursor.execute("SELECT * FROM TEST")    # 需要先执行该语句,才能执行后续语句one=cursor.fetchone()
print(one)  # 显示字典形式conn.commit()   # 插入/更新数据后,需要提交,数据库才能保存该数据
cursor.close()  # 关闭游标
conn.close()    # 关闭数据库连接

二、事务命令

事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功。

start transaction 开启事务。

Rollback 回滚事务,即撤销指定的sql语句(只能回退insert delete update语句),回滚到上一次commit的位置。

Commit 提交事务,提交未存储的事务。

savepoint 保留点 ,事务处理中设置的临时占位符 你可以对它发布回退(与整个事务回退不同)

create table account (id int primary key auto_increment,name varchar(8),balance int
);insert into account (name,balance) values("AA",8000),("BB",8000);select * from account;start transaction;update account set balance=balance-5000 where id=1;select * from account; -- 此时如果重开一个会话框,并不会更新数据Rollback;   -- 就算不新开会话框,如果执行事务回滚语句,也不会更新数据。
start transaction;update account set balance=balance-5000 where id=1;select * from account;update account set balance=balance+5000 where id=2;commit; -- 提交后,数据更新永久改变。

python中调用数据库启动事务的方式

import pymysqlconn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123456', db='s3')cursor = conn.cursor()try:insertSQL0 = "INSERT INTO ACCOUNT (name,balance) VALUES ('CC',4000)"insertSQL1="UPDATE account set balance=balance-30 WHERE id=1"insertSQL2="UPDATE account set balance=balance+30 WHERE id=2"cursor = conn.cursor()cursor.execute(insertSQL0)conn.commit()cursor.execute(insertSQL1)# raise Exceptioncursor.execute(insertSQL2)conn.commit()except Exception as e:conn.rollback()conn.commit()cursor.close()
conn.close()

savepoint示例:

start transaction;update account set balance=balance-5000 where id=1;savepoint update1; -- 保留点可以任意起名update account set balance=balance+5000 where id=2;savepoint update2;delete from account where name="DD";savepoint delete1;select * from account;
rollback to delete1;    -- 回滚到savepoint delete1;这句之上,即没有任何变化rollback to update2;    -- 取消删除语句,及以下的语句
select * from account;rollback to update1;    -- 取消第二条更新语句,及以下的语句
select * from account;
关键字:网站平台推广方法_上海城隍庙门票多少钱_网站建设费用多少钱_网站需要怎么优化比较好

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: