数据库实验(二)数据查询
实验类型验证型实验
实验目的
掌握查询语句的一般格式;
熟练掌握单表查询、连接查询、集合查询、统计查询和嵌套查询。
实验内容
单表查询
连接查询
嵌套查询
集合查询
实验步骤
查询“红楼梦”目前可借的各图书编号,及所属版本信息。(是否借出为‘否‘的图书)
查找高等教育出版社的所有书目及单价,结果按单价降序排序。
统计“红楼梦”各版的藏书数量(ISBN不同则版本不同)。
查询学号“20061234”号借书证借阅未还的图书的信息。
查询各个出版社的图书最高单价、平均单价。
要查询借阅了两本和两本以上图书的读者的个人信息。
查询“王菲”的单位、所借图书的书名和借阅日期。
查询每类图书的册数和平均单价。
统计从未借书的读者人数。
统计参与借书的人数。
找出所有借书未还的读者的信息及所借图书编号及名称。
检索书名是以“红”开头的所有图书的书名和作者。
查询各图书的罚款总数。
查询借阅及罚款分类信息,如果有罚款则显示借阅信息及罚款名称、罚金,如果没有罚款则罚款名称、罚金显示空(左外连接)
查询借阅了所有“文学”类书目的读者的姓名、单位。
实验扩展
在书目关系中新增“出版年份”,并在该属性下添 ...
数据库实验(一)建立数据库
实验类型设计性实验
实验目的
熟悉oracle环境。
熟练掌握和使用PL-SQL建立数据库基本表。
使用PL/SQL developer操作数据库。
熟练掌握SQL 建立关系,及增删改数据。
实验内容
了解SQL PLUS的使用
使用PL/SQL developer的图形界面,建立图书管理数据库orcl中的读者关系,要求创建主键约束,用户定义的完整性约束(电话号码、身份证号)。
在建立的读者关系中输入有效数据。
删除读者关系。
在PL/SQL developer用SQL代码建立orcl数据库中各关系。
用SQL 代码完成数据增、删、改。
实验步骤登录数据库
以SYSTEM登录数据库
输入口令为你创建数据库时设置的密码
注册用户、重新以新用户登录数据库
图形化界面建表
图书分类(图书分类号,类名)
读者 (借书证号,姓名,单位,性别,地址,联系电话,身份证编号)
书目(ISBN, 书名,作者,出版单位,单价,图书分类号)
图书(图书编号,ISBN,是否借出,备注)
借阅 (借阅流水号,借书证号,图书编号,借书日期,归还 ...
Python 实验十四 网络爬虫基础(1)
实验目的1、网络爬虫的基本原理与规范。2、掌握使用 Requests 库获取静态网页信息。3、掌握使用 BeautifulSoup4 库解析网页信息。4、掌握正则表达式的基本用法。
实验内容题目 中国大学排名定向爬虫(1) 查看 https://www.shanghairanking.cn/rankings/bcur/2020 网页中关于各大学排名的信息组织(F12 快捷键查阅 html 代码)(2)使用 requests、beautifulsoup4 或 re 库抓取并解析排名,输出各大学的排名信息,如下图所示。
代码12345678910111213141516171819202122232425262728293031import requestsfrom bs4 import BeautifulSoupimport bs4def getHTMLText(url): try: r = requests.get(url,timeout=30) r.raise_for_status() r.encoding = 'utf- ...
Python 实验十三 数据分析与可视化(2)
实验目的1、 掌握第三方库 TuShare 的数据获取方法2、 能够利用 pandas 库进行简单的数据分析3、 能够利用 matplotlib 库进行数据可视化4、 综合应用上述第三方库解决问题的能力
实验内容一、读取 stock_hist_data.csv 中招商银行(股票代码 600036)2018 年下半年的股票数据并完成如下数据处理和分析任务:(1) 数据只保留 date、open、high、close、low 和 volume 这几个属性,并按时间先后顺序对数据进行排序;使用 matplotlib 绘制出收盘价(close)的走势折线图。(2) 输出这半年内成交量(volume)最低和最高那两天的日期和分别的成交量;(3) 列出成交量(volume)在 1000000 以上的记录;(4) 计算这半年中收盘价(close)高于开盘价(open)的天数;(5) 计算每月收盘价的平均值,并使用 matplotlib 绘制出柱状图。代码1234567891011121314151617181920212223242526272829303132333435363738394041i ...
Python 实验十二 数据分析与可视化(1)
实验目的1、 熟悉 numpy 库常用方法的使用2、 熟悉 pandas 库的基本使用3、 能够利用 matplotlib 库进行简单的图形绘制
实验内容题目根据某商品近 5 年的销售流水,做数据分析和可视化。模拟产生数据代码如下:
(1)编写程序生成某商品(2014-01-01 到 2018-12-31)的销售流水,模拟数据文件名为 data.csv,数据格式如下:(说明:日期是连续的,销量是随机数,单价范围为[101,105]的随机值)
代码1234567891011121314import randomimport datetimeimport csvfn = 'data.csv'with open(fn,'w') as fp: wr = csv.writer(fp) wr.writerow(['日期','销量','单价']) startDate = datetime.date(2014,1,1) for i in range(1825): ...
Python 实验十一 Tkinter的使用(2)
实验目的掌握界面程序的设计
实验内容练习一题目:用户登陆界面程序编写一个用户登录界面,用户可以登录账户信息,如果账户已经存在,可以直接登录,登录名或者登录密码输入错误会提示,如果账户不存在,提示用户注册,点击注册进去注册页面,输入注册信息,确定后便可以返回登录界面进行登录。
代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293import pickleimport tkinter as tkimport tkinter.messageboxwindow = tk.Tk()window.title('登 录')window.geometry('500x400')l1 = tk.Label(window,text='用户名:',f ...
Python 实验十 Tkinter的使用(1)
实验目的
掌握 tkinter 的使用
熟悉可视化界面的设计方法实验内容题目完成以下代码,熟悉 tkinter 各个部件的使用代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135#(1) 创建主窗口及 Label 部件(标签)创建使用import tkinter as tk# SY11-1window = tk.Tk()window.title('First Example')window.geometry('500x3 ...
Python 实验九 文件与数据格式化
实验目的
掌握文件的基本操作
理解一、二维和高维数据的格式化过程
掌握 csv 和 json 格式的相互转换
综合应用组合数据类型与 CSV 和 JSON 数据格式编写简单的应用程序实验内容练习一题目将提供的 test.csv 文件,具体内容如下:编程读入该文件,转换成 JSON 格式文件,并以文件名 out.json 输出。转换后的结果如下所示:[ { "同比": "120.7",
"城市": "北京",
"定基": "121.4",
"环比": "101.5"
}, { "同比": "127.3",
"城市": "上海",
"定基": "127.8",
"环比": "101.2"
} ….]代码123456789101112 ...
Python 实验八 函数
实验目的
掌握函数的定义与调用过程
掌握参数的传递方式和传递过程
理解和使用匿名函数
理解递归调用的思想和方法
掌握变量的作用域实验内容练习一题目定义求 n!的函数 fact()和求和函数 sum(),在此基础上编程实现 1!+2!+…m!的计算。代码123456789101112def fact(num): result = 1 for i in range(1,num+1): result *= i return resultdef sum(num): result = 0 for i in range(1,num+1): result = result + fact(i) return resultnum=eval(input("请输入一个数m:"))print("1!+2!+...+{}!={}".format(num,sum(num)))
练习二题目定义匿名函数实现求平方,定义判素数函数 list_prime(),该函数可以实现接受任 ...
Python 实验七 阶段测试
题目一打印输出如下字符图案。
代码12345678width_top = 2*6-1;width_di = 2*5-1;for i in range(1,7): str = '*'*(2*i-1) print(str.center(width_top,' '))for i in range(5,-1,-1): str = '*' * (2 * i - 1) print(str.center(width_top,' '))
题目二输入一个年份,判断并输出该年份是否为闰年。。
代码123456date = eval(input("请输入一个年份:"))# print(date)if (date%100!=0 and date%4==0) or (date%400==0): print("{}年是闰年".format(date))else: print("{}年不是闰年".fo ...