Python程序设计基础(第3版)-习题及答案 【ch11】数据库操作_第1页
Python程序设计基础(第3版)-习题及答案 【ch11】数据库操作_第2页
Python程序设计基础(第3版)-习题及答案 【ch11】数据库操作_第3页
Python程序设计基础(第3版)-习题及答案 【ch11】数据库操作_第4页
Python程序设计基础(第3版)-习题及答案 【ch11】数据库操作_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十一章数据库操作1.答:importsqlite3#创建数据库文件Businessdbconn=sqlite3.connect('Businessdb.db')cursor=conn.cursor()#创建Info表cursor.execute('''CREATETABLEIFNOTEXISTSInfo(product_idTEXT,product_nameTEXT,unit_priceINTEGER)''')#创建Customer表cursor.execute('''CREATETABLEIFNOTEXISTSCustomer(customer_idTEXT,customer_nameTEXT,product_idTEXT)''')#输出Info表的所有内容defshow_info_table():cursor.execute('SELECT*FROMInfo')info_records=cursor.fetchall()forrecordininfo_records:print(f'ProductID:{record[0]},ProductName:{record[1]},UnitPrice:{record[2]}')#添加商品购买信息到Customer表defadd_customer_record(customer_id,customer_name,product_id):cursor.execute('INSERTINTOCustomerVALUES(?,?,?)',(customer_id,customer_name,product_id))mit()print("Customerrecordaddedsuccessfully.")#查询顾客编号的消费金额defshow_customer_total_amount(customer_id):cursor.execute('SELECTcustomer_id,SUM(unit_price)AStotal_amountFROMCustomer''JOINInfoONCduct_id=Iduct_id''WHEREcustomer_id=?GROUPBYcustomer_id',(customer_id,))result=cursor.fetchone()ifresult:print(f'CustomerID:{result[0]},TotalAmount:{result[1]}')else:print("CustomerIDnotfound.")#示例数据:添加一些商品信息cursor.executemany('INSERTINTOInfoVALUES(?,?,?)',[('130207','ProductA',100),('130208','ProductB',200),('130209','ProductC',150)])mit()#输出Info表的所有内容show_info_table()#添加商品购买信息whileTrue:customer_id=input("请输入顾客编号(输入0退出程序):")ifcustomer_id=='0':breakcustomer_name=input("请输入顾客姓名:")product_id=input("请输入购买商品编号:")add_customer_record(customer_id,customer_name,product_id)#查询顾客编号的消费金额customer_id_input=input("请输入顾客编号查询消费金额:")show_customer_total_amount(customer_id_input)#关闭数据库连接conn.close()2.答:importsqlite3#创建数据库文件flmdbconn=sqlite3.connect('flmdb.db')cursor=conn.cursor()#创建“热映电影”表cursor.execute('''CREATETABLEIFNOTEXISTShot_movies(movie_nameTEXT,movie_typeTEXT,movie_regionTEXT)''')#创建“排片”表cursor.execute('''CREATETABLEIFNOTEXISTSschedules(movie_nameTEXT,theaterTEXT,ticket_priceINTEGER)''')#输出“热映电影”表的所有内容defshow_hot_movies():cursor.execute('SELECT*FROMhot_movies')movies=cursor.fetchall()formovieinmovies:print(f'MovieName:{movie[0]},Type:{movie[1]},Region:{movie[2]}')#添加排片信息到“排片”表defadd_schedule(movie_name,theater,ticket_price):cursor.execute('INSERTINTOschedulesVALUES(?,?,?)',(movie_name,theater,ticket_price))mit()print("Scheduleaddedsuccessfully.")#查询电影类型的排片信息defshow_schedule_by_type(movie_type):cursor.execute('SELECTmovie_name,theater,ticket_priceFROMschedulesWHEREmovie_nameIN''(SELECTmovie_nameFROMhot_moviesWHEREmovie_type=?)',(movie_type,))schedules=cursor.fetchall()forscheduleinschedules:print(f'MovieName:{schedule[0]},Theater:{schedule[1]},TicketPrice:{schedule[2]}')#示例数据:添加一些热映电影和排片信息cursor.executemany('INSERTINTOhot_moviesVALUES(?,?,?)',[('MovieA','Action','USA'),('MovieB','Comedy','China'),('MovieC','Drama','UK')])cursor.executemany('INSERTINTOschedulesVALUES(?,?,?)',[('MovieA','Theater1',20),('MovieA','Theater2',25),('MovieB','Theater3',18)])mit()#输出“热映电影”表的所有内容show_hot_movies()#添加排片信息add_schedule('MovieB','Theater4',22)#查询电影类型的排片信息show_schedule_by_type('Action')#关闭数据库连接conn.close()3.答:importsqlite3#创建数据库文件Dormdbconn=sqlite3.connect('Dormdb.db')cursor=conn.cursor()#创建"Dorm"表cursor.execute('''CREATETABLEIFNOTEXISTSDorm(dorm_numberTEXT,phoneTEXT,accommodation_feeINTEGER,bed_countINTEGER)''')#创建"Student"表cursor.execute('''CREATETABLEIFNOTEXISTSStudent(student_idTEXT,student_nameTEXT,dorm_numberTEXT)''')#输出"Dorm"表的所有内容defshow_dorms():cursor.execute('SELECT*FROMDorm')dorm_records=cursor.fetchall()forrecordindorm_records:print(f'DormNumber:{record[0]},Phone:{record[1]},AccommodationFee:{record[2]},BedCount:{record[3]}')#添加学生信息到"Student"表defadd_student(student_id,student_name,dorm_number):cursor.execute('INSERTINTOStudentVALUES(?,?,?)',(student_id,student_name,dorm_number))mit()print("Studentaddedsuccessfully.")#查询学生所住的宿舍信息defshow_student_dorm_info(student_id):cursor.execute('SELECTdorm_number,phone,accommodation_feeFROMDormWHEREdorm_number=(SELECTdorm_numberFROMStudentWHEREstudent_id=?)',(student_id,))result=cursor.fetchone()ifresult:print(f'DormNumber:{result[0]},Phone:{result[1]},AccommodationFee:{result[2]}')else:print("Studentnotfound.")#示例数据:添加一些宿舍信息cursor.executemany('INSERTINTODormVALUES(?,?,?,?)',[('Dorm1','123456',500,4),

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论