
实验要求八个实体,七个联系,以上是er图
db = pymysql.connect(
host="localhost",
port=3306,
user="root",
password="xxxx",
charset="utf8",
database="db_lab2",
) # 连接数据库
在数据库初始化时我没有设置autocommit选项,是因为之后要涉及事务管理,将一组sql语句捆绑到一起。
try:
sql = 'insert into class (C_num, C_academy_id) values (%s, %s)' % (str(cid), aid)
cursor.execute(sql)
sql = 'insert into student (S_name, S_id, S_age, S_sex, S_class_num, S_pwd) values (\'%s\', %s, \'%s\', \'%s\', %s, \'%s\')' % (
name, sid, age, sex, str(cid), pwd)
cursor.execute(sql)
db.commit()
except Exception as e:
db.rollback()
比如上图中的操作就是一个事务,手动提交(commit)体现事务。
源代码地址:github仓库地址