




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年大数据分析师职业技能测试卷:Python数据分析库PyMySQL应用试题考试时间:______分钟总分:______分姓名:______一、Python数据分析库PyMySQL基础应用要求:熟悉PyMySQL库的基本操作,包括连接数据库、执行SQL语句、处理结果集等。1.使用PyMySQL连接到本地MySQL数据库,数据库名为"student",用户名为"root",密码为"123456"。2.创建一个名为"student_info"的表,包含以下字段:id(主键,自增),name(字符串,长度不超过50),age(整数),class_id(整数,外键,关联到class表的主键)。3.创建一个名为"class"的表,包含以下字段:id(主键,自增),class_name(字符串,长度不超过50)。4.向"student_info"表中插入以下数据:(1,'张三',20,1),(2,'李四',21,2),(3,'王五',22,1)。5.向"class"表中插入以下数据:(1,'一年级1班'),(2,'一年级2班')。6.查询"student_info"表中所有年龄大于20岁的学生信息。7.更新"student_info"表中id为2的学生的班级信息为一年级3班。8.删除"student_info"表中年龄小于20岁的学生信息。9.查询"student_info"表中学生的班级名称。10.断开与MySQL数据库的连接。二、Python数据分析库PyMySQL高级应用要求:掌握PyMySQL库的高级应用,包括事务处理、游标操作等。1.使用PyMySQL连接到本地MySQL数据库,数据库名为"student",用户名为"root",密码为"123456"。2.开启一个事务。3.向"student_info"表中插入以下数据:(4,'赵六',19,1)。4.查询"student_info"表中所有学生信息。5.提交事务。6.回滚事务。7.使用游标遍历"student_info"表中所有学生的班级信息。8.使用游标修改"student_info"表中id为2的学生的班级信息为一年级4班。9.关闭游标。10.断开与MySQL数据库的连接。四、Python数据分析库PyMySQL异常处理要求:了解并掌握PyMySQL库中异常处理的基本方法,能够处理常见的数据库连接、查询等异常情况。1.使用PyMySQL连接到本地MySQL数据库,数据库名为"student",用户名为"root",密码为"123456"。2.尝试执行一个不存在的数据表查询,捕获并处理可能出现的异常。3.尝试使用错误的用户名和密码连接到数据库,捕获并处理异常。4.在执行SQL语句时,故意构造一个语法错误的语句,捕获并处理异常。5.在事务处理过程中,故意执行一个会导致事务失败的SQL语句,捕获并处理异常。6.在使用游标操作时,故意执行一个会导致游标错误的操作,捕获并处理异常。7.在关闭数据库连接时,确保所有资源都被正确释放,没有发生资源泄露。8.断开与MySQL数据库的连接。五、Python数据分析库PyMySQL事务管理要求:理解事务的概念,能够使用PyMySQL库进行事务的开启、提交和回滚操作。1.使用PyMySQL连接到本地MySQL数据库,数据库名为"student",用户名为"root",密码为"123456"。2.开启一个事务。3.向"student_info"表中插入一条数据,模拟学生信息录入。4.向"class"表中插入一条数据,模拟班级信息录入。5.提交事务,确保两条数据同时成功插入数据库。6.回滚事务,撤销之前插入的班级信息,保留学生信息。7.再次提交事务,确保学生信息被成功保存。8.断开与MySQL数据库的连接。六、Python数据分析库PyMySQL连接池应用要求:了解连接池的概念,能够使用PyMySQL库创建并管理连接池,提高数据库操作效率。1.使用PyMySQL连接到本地MySQL数据库,数据库名为"student",用户名为"root",密码为"123456"。2.创建一个连接池,设置最大连接数为10,最小空闲数为2。3.从连接池中获取一个连接,执行一个查询操作。4.将查询结果存储到列表中。5.将连接返回到连接池。6.从连接池中获取另一个连接,执行一个更新操作。7.将连接返回到连接池。8.关闭连接池,释放所有资源。9.断开与MySQL数据库的连接。本次试卷答案如下:一、Python数据分析库PyMySQL基础应用1.代码示例:```pythonimportpymysql#连接数据库connection=pymysql.connect(host='localhost',user='root',password='123456',database='student')try:withconnection.cursor()ascursor:#创建表create_table_sql="""CREATETABLEIFNOTEXISTSstudent_info(idINTAUTO_INCREMENTPRIMARYKEY,nameVARCHAR(50)NOTNULL,ageINTNOTNULL,class_idINT,FOREIGNKEY(class_id)REFERENCESclass(id))"""cursor.execute(create_table_sql)create_class_table_sql="""CREATETABLEIFNOTEXISTSclass(idINTAUTO_INCREMENTPRIMARYKEY,class_nameVARCHAR(50)NOTNULL)"""cursor.execute(create_class_table_sql)#插入数据insert_student_info_sql="""INSERTINTOstudent_info(name,age,class_id)VALUES(%s,%s,%s)"""student_data=[('张三',20,1),('李四',21,2),('王五',22,1)]cursor.executemany(insert_student_info_sql,student_data)insert_class_sql="""INSERTINTOclass(class_name)VALUES(%s)"""class_data=[('一年级1班',),('一年级2班',)]cursor.executemany(insert_class_sql,class_data)#提交事务mit()exceptpymysql.MySQLErrorase:print("MySQLError:",e)finally:#关闭数据库连接ifconnection:connection.close()#查询年龄大于20岁的学生信息try:withconnection.cursor()ascursor:select_age_greater_than_20_sql="""SELECT*FROMstudent_infoWHEREage>%s"""cursor.execute(select_age_greater_than_20_sql,(20,))result=cursor.fetchall()print(result)finally:ifconnection:connection.close()#更新学生班级信息try:withconnection.cursor()ascursor:update_student_class_sql="""UPDATEstudent_infoSETclass_id=%sWHEREid=%s"""cursor.execute(update_student_class_sql,(3,1))mit()finally:ifconnection:connection.close()#删除年龄小于20岁的学生信息try:withconnection.cursor()ascursor:delete_age_less_than_20_sql="""DELETEFROMstudent_infoWHEREage<%s"""cursor.execute(delete_age_less_than_20_sql,(20,))mit()finally:ifconnection:connection.close()#查询学生班级名称try:withconnection.cursor()ascursor:select_class_name_sql="""SELECTstudent_,class.class_nameFROMstudent_infoJOINclassONstudent_info.class_id=class.id"""cursor.execute(select_class_name_sql)result=cursor.fetchall()print(result)finally:ifconnection:connection.close()```2.解析思路:-使用pymysql.connect()连接到MySQL数据库。-使用withconnection.cursor()作为上下文管理器,获取游标对象。-创建表和插入数据使用cursor.execute()执行SQL语句。-查询、更新和删除操作也使用cursor.execute()执行SQL语句。-使用mit()提交事务,确保数据被保存。-使用finally语句块确保连接在操作完成后关闭。二、Python数据分析库PyMySQL高级应用1.代码示例:```python#...(与一题相同,省略连接数据库等步骤)try:#开启事务connection.begin()withconnection.cursor()ascursor:#插入数据insert_student_info_sql="""INSERTINTOstudent_info(name,age,class_id)VALUES(%s,%s,%s)"""cursor.execute(insert_student_info_sql,('赵六',19,1))#提交事务mit()exceptpymysql.MySQLErrorase:print("MySQLError:",e)#回滚事务connection.rollback()finally:ifconnection:connection.close()#...(与一题相同,省略其他步骤)```2.解析思路:-使用connection.begin()开启事务。-使用withconnection.cursor()获取游标对象。-执行插入数据的SQL语句。-使用mit()提交事务。-如果发生异常,使用connection.rollback()回滚事务。-使用finally语句块确保连接关闭。三、Python数据分析库PyMySQL异常处理1.代码示例:```python#...(与一题相同,省略连接数据库等步骤)try:#执行不存在的表查询withconnection.cursor()ascursor:cursor.execute("SELECT*FROMnon_existent_table")exceptpymysql.MySQLErrorase:print("MySQLError:",e)try:#使用错误的用户名和密码连接数据库connection=pymysql.connect(host='localhost',user='wrong_user',password='wrong_password',database='student')exceptpymysql.MySQLErrorase:print("MySQLError:",e)try:#构造语法错误的SQL语句withconnection.cursor()ascursor:cursor.execute("SELECTFROMstudent_info")exceptpymysql.MySQLErrorase:print("MySQLError:",e)try:#执行会导致事务失败的SQL语句withconnection.cursor()ascursor:cursor.exe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服复杂合同范本
- 2025年qc岗位面试题目及答案
- 2025年声乐专业测试题目及答案
- 2025年plc操作试题及答案
- 2025年专业的心理测试题及答案
- 村民公约协议书
- 村民进户协议书
- 村通快递协议书
- 杨某夫妻协议书
- 林地居间协议书
- 靶向治疗的不良反应及护理
- 保安证考试职业道德试题及答案
- 道路交通事故安全警示教育培训
- 浙江金华市慈善总会招考聘用高频重点模拟试卷提升(共500题附带答案详解)
- 《遗产的传承:文化瑰宝的数字化课件展示》
- 应急人员转移应急预案
- 永久起搏器植入术护理查房
- 《直埋式地下燃气调压装置》
- 社区绿化美化的措施及实施难点
- 《彩妆的库存管理》课件
- GB/T 15972.40-2024光纤试验方法规范第40部分:传输特性的测量方法和试验程序衰减
评论
0/150
提交评论