import pymysql
import time
class Personss:
def __init__(self):
self.conn = pymysql.Connection(
host="localhost", # 主机名 IP地址
user="root", # 账户
password="xxxxxx", # 密码
port=3306, # 端口
)
p2 = Personss()
conn = p2.conn
# 选择
conn.select_db("testdb")
# 获取游标
cursor = conn.cursor()
update_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(update_time)
# 创建sql变量
drop_sql= "drop table if exists test_table"
create_sql = "Create Table test_table(id bigint(20) primary key auto_increment,name varchar(20),age int " \
",sex varchar(10),update_time datetime)"
insert_sql = f"insert into test_table(name,age,sex,update_time)values('高启强',48,'男','{update_time}')"
query_sql = "select * from test_table"
# 执行SQL(关闭游标,以下语句将不能执行)
# cursor.execute(drop_sql)
# cursor.execute(create_sql) # 不需要commit
cursor.execute(insert_sql) # 需要commit
cursor.execute(query_sql) # 不需要commit,也可以查询出结果;并且包含查询尚未commit的新增记录(存放与电脑内存中)
# 关闭游标
cursor.close()
# 通过游标获取查询结果(注意这里:cursor.fetchall()不是方法,故关闭cursor,也照样可以获得查询结果)
result = cursor.fetchall()
# 打印结果
print(result)
# 提交事务
# conn.commit()
这个探索案例,让我彻底把cursor、commit的问题搞清楚了
最新推荐文章于 2025-03-17 09:57:49 发布