山西财经大学《数据库技术及程序设计(Python+MySQL)》实验报告
山西财经大学《数据库技术及程序设计(Python+MySQL)》实验报告
20xx年 xx月 xx日
实验题目  | Python与MySQL数据库  | |||||||||||||||||||
学 院  | 
  | 班 级  | 
  | |||||||||||||||||
姓 名  | 
  | 学 号  | 
  | |||||||||||||||||
理论课教师  | 
  | 上机指导教师  | 
  | |||||||||||||||||
实验目的: (1)掌握Python连接数据库的方法,掌握python使用MySQL应用数据库的方法。 (2)熟悉MySQL(使用Front或Workbench等)可视化工具创建使用数据库的方法。 (3)熟练掌握SQL语言操作数据库的方法。能够通过SQL语言创建数据库和表、对数据表进行增删改查操作,创建表间的关系、进行级联更新等操作。 (4)能够通过python访问MySQL数据库,并进行数据库的相关操作。 
 实验要求: (1)自行设想一个应用场景,设计一个数据库,该数据库中设计两个以上有关联的表。 (2)MySQL(可使用使用Front或Workbench等可视化工具)创建该数据库,并建立其中一个表。 (3)使用python编程访问建立好的MySQL数据库,并完成下述操作: ①建立表结构; ②给各个表中添加记录数据; ③给其中一个表中插入一个字段; ④更新一个表中满足条件的记录; ⑤查找一个表中满足某个条件的记录; ⑥删除某个表中的满足某个条件的记录; ⑦建立两个表之间的关系(注意主键和外键的设置); ⑧更新建立关系的两个表中主表的记录,要求子表对应的记录相应更新; ⑨删除建立关系的两个表中的子表。 
  | ||||||||||||||||||||
操作步骤(可附主要代码): 
 1. 创建数据库 
 2. 创建数据表 
 
 
 3. 注:本次实验使用pycharm+jupyter+anaconda环境,所用到的库为pymysql,数据库为本地创建数据库。 import pymysql def display(table_name): 
 (1) #建立表结构 
 (2)#给各个表中添加记录数据; 
 (3) sql="insert into xs_kc(sno,cno,grade)value(%s,%s,%s)" 
 
 (4) mycursor = mysql_conn.cursor() display("xs") 
 (5) sql="select * from xs where sno='95004'" 
 (6) sql="delete from kc where cno='7'" 
 
 (7) sql=' alter table xs_kc add index(cno)' 
 (由于mysql workbenth长时间无刷新无法展示外键关系,我采用pycharm自带工具展示执行结果) (8) myCursor = mysql_conn.cursor() 
 
 (9) sql = "DROP TABLE IF EXISTS xs_kc" 
 
 
  | ||||||||||||||||||||
实验中发现的问题及解决方法: 1.插入数据时遇到“TypeError: not enough arguments for format string” 
 解决方案: 使用myCursor.execute(sql, val)替换myCursor.executemany(sql, val) 2.插入数据时发生“IntegrityError: (1062, "Duplicate entry '95001-3' for key 'xs_kc.PRIMARY'")” 解决方案: 插入数据已存在,更改即将插入的数据,直至使其满足能插入的条件。 
  | ||||||||||||||||||||
教师评语  | 
  | |||||||||||||||||||
成 绩  | 
  | |||||||||||||||||||