当前位置:文档之家› 实验2 数据库的单表查询

实验2 数据库的单表查询

实验2  数据库的单表查询
实验2  数据库的单表查询

实验2 数据库的单表查询、分组查询与聚集函数的使用

一、实验目的

本实验的目的是使学生熟悉SQL Server Management Studio的使用方法。加深对SQL语言的查询语句的理解。熟练掌握数据库的单表查询(包括投影、选择条件表达,数据排序,模糊查询等), 熟练掌握数据库的分组、统计、计算和集合的操作方法。

二、实验时数2学时

三、实验内容

1.简单的SELECT查询

1)查询雇员表Empl中所有员工的详细信息,并且列名用汉字表示。

select*from EMPL

select ENO 员工编号, ENAME 员工姓名, BIRTHDATE 出生日期, SALARY 工资,

DNO 所在部门编号from EMPL;

2)查询项目表Proj中所有项目的详细信息,并且列名用汉字表示。

select PNO 项目编号,PNAME 项目名称from PROJ;

2.使用WHERE子句进行查询

1)查询雇员表Empl中李强的员工编号。

select ENO from EMPL

where ENAME='李强'; 注没有李强的信息

2)查询项目表Proj中项目编号为“101”的项目名称。

select*from EMPL

select PNAME from PROJ

where PNO='101'; 没有101的信息

3.使用DISTINCT关键字去掉重复行

1)查询雇员表Empl中出现的所有部门编号,要求无重复。

select distinct(DNO)from EMPL;

2)查询工作表Job中参与过项目开发的所有员工编号,要求无重复。

SELECT DISTINCT(ENO)FROM JOB WHERE DAYS>0;

4.使用ORDER BY子句对查询结果进行排序

1)查询雇员表Empl中所有员工的详细信息,结果按员工姓名降序排列。SELECT*FROM EMPL ORDER BY ENAME DESC;

2)查询工作表Job中的工作信息,结果按工作天数升序排列。

SELECT*FROM JOB ORDER BY DAYS ASC;

5.使用LIKE子句进行模糊查询

1)查询所有姓王的员工的编号及姓名,并且以员工编号及员工姓名作为列名。SELECT ENO 员工编号,ENAME 员工姓名FROM EMPL WHERE ENAME LIKE'王%';

2)查询雇员表Empl中姓名以“伟”字结尾的员工信息。

SELECT*FROM EMPL WHERE ENAME LIKE'%伟';

6.使用聚集函数MIN、MAX进行查询

1)查询雇员表Empl中员工的最低工资,并且列名用“最低工资”表示。

select min(SALARY)AS最低工资from EMPL;

2)查询雇员表Empl中员工的最高工资,并且列名用“最高工资”表示。

select MAX(SALARY)AS最高工资from EMPL;

7.使用聚集函数COUNT进行查询

1)查询雇员表Empl中所有员工的总人数,并且列名用“员工总数”表示。select count(ENO)AS员工总数from EMPL;

2)查询14号部门的人数,并且列名用“客户中心部人数”表示。

select COUNT(ENO)AS客户中心人数from EMPL WHERE DNO='14';

8.使用分组子句GROUP BY与聚集函数MIN、MAX进行查询

1)查询每个部门中年龄最大的员工,显示部门编号和出生日期。

select DNO AS部门编号,max(BIRTHDATE)as出生日期from EMPL GROUP BY DNO; 2)分别统计雇员表Empl中各部门员工的最高工资,并且列名分别用“部门编号”及“最高工资”表示。

SELECT DNO AS部门编号,MAX(SALARY)AS最高工资from EMPL GROUP BY DNO; 9.使用分组子句GROUP BY与聚集函数SUM、AVG进行查询

1)分别统计雇员表Empl中各部门员工的工资总额,并且列名分别用“部门编号”及“各部门工资总额”表示。

SELECT DNO AS部门编号,SUM(SALARY)AS各部门工资总额from EMPL GROUP BY DNO;

2)分别统计雇员表Empl中各部门员工工资的平均数,并且列名分别用“部门编号”及“各部门工资平均数”表示。

SELECT DNO AS部门编号,AVG(SALARY)AS各部门工资平均数from EMPL GROUP BY DNO;

10.使用分组子句GROUP BY与聚集函数COUNT进行查询

1)统计员工人数多于4人的部门信息,并且列名分别用“部门编号”及“员工人数”表示。

SELECT DNO AS部门编号,count(ENO)AS员工人数from EMPL WHERE ENO>4 GROUP BY DNO;

2)分别统计工作表Job中各项目的参与开发的员工人数,并且列名分别用“项目编号”及“员工人数”表示。

SELECT PNO AS项目编号,COUNT(ENO)AS员工人数from JOB group by PNO;

实验2 数据管理与查询(一)

南京财经大学 数据结构与数据库系统 实验报告书 实验2 SQL 语言——数据定义、管理与查询(一) 专业:统计学 学号:1102110220 姓名:王靓雅 任课老师:戴华 学院:经济学院 2012年11 月 1 日

一实验目的 1 熟悉SQL语言的数据定义、管理和查询 二实验平台 1 操作系统:Windows XP 2 数据库管理系统:Access 和SQL Server 2000 三实验内容及要求 1 在SQL Server中,创建数据库“School”,在School数据库中利用Create语句创建教科书P82页中给出的Student、Course和SC表(注意保持关系表之间 的外码依赖关系)。 2 利用Insert语句在Student、Course和SC表中插入P82页中给出三个表的所有元组。 3 完成如下查询: (1) 查询计算机系(CS)中所有男生的姓名和学号,并按学号降序排列 (2) 查询“信息系统”课程的先行课程的学分 (3) 查询姓“刘”的学生的学号、姓名、性别和专业信息 (4) 查询2号课程成绩为优秀(≥90)的学号和成绩 (5) 查询2002级学生的总人数信息 (6) 分组查询各系的学生总人数,输出系名和总人数 (7) 分组查询各课程的平均成绩,输出课程号和平均成绩 (8) 查询计算机系学生的姓名和各课程的成绩 (9) 查询至少有2门课程的成绩为良好(≥80并且<90)的学生的学号 四实验过程和结果 (注:对于实验内容中的9个查询,请写出对应的关系代数表达式、SQL查询语句和查询结果) 首先用creat语句创建student,course,sc表 use school

实验一数据库及基本表的建立

实验一数据库及基本表的建立 一、实验目的 1、掌握SQL SERVER的查询分析器和企业管理器的使用; 2、掌握创建数据库和表的操作; 二、实验内容和要求 1、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库; 2、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库表; 三、实验主要仪器设备和材料 1.计算机及操作系统:PC机,Windows 2000/xp; 2.数据库管理系统:SQL sever 2005; 四、实验方法、步骤及结果测试 题目1、创建数据库“学生情况”: 实现代码及截图: SQL语句 Create database 学生情况 查询分析器执行情况 :SQL语句及执行结果截图显示 找到主数据文件和日志文件,观察大小,并给出截图。

题目2、将数据库“学生情况”改名为“student” SQL语句 EXEC sp_renamedb学生情况, student 查询分析器执行情况: SQL语句及执行结果截图显示 题目3、创建基本表 S表 含义字段名字段类型字段 宽度 说明学号Sno Char10主键,不允许为空姓名Sname char10不允许为空 性别Ssex char2取值为男或女

C表 Sc表: 创建各表的实现代码及截图:

查询分析器执行情况: SQL语句及执行结果截图显示

题目4*、用sql语句将C表中的ccredit改为整型,同样约束为0-20之间 题目5、用sql语句在S表中添加一格“备注”字段remark,变长字符型,长度30,并保存结果

2-实验二MySQL数据库操作实验

实验二MySQL数据库操作实验 实验目的: 1、掌握MySQL数据库的安装方法 2、掌握MySQL数据库的使用 3、熟悉数据库管理工具的使用 实验要求: 1、利用MySQL命令创建数据库和相应的数据库表,并能向数据库表中插入数据记录和相应的数据库操作。 2、利用Navicat for MySQL建数据库和相应的数据库表,并能向数据库表中插入数据记录和相应的数据库操作。 3、保存和导入数据库 4、编程查询显示数据库表中的所有记录,可以选择以下添加的任意一个数据库表的记录。 实验内容: 1、安装MySQL数据库 安装MySQL可以参照文档“MySQL 5 安装.doc”,安装MySQL并进行配置,安装成功后,即可操作管理数据库。 方法一: 从开始菜单?MySQL?MySQL Server5.0?MySQL Command Line Client,打开控制台界面,提示输入密码,密码输入成功后,登录MySQL数据库,如下图2.1所示。

图2.1 登录MySQL 服务器 方法二:将MySQL的安装路径下的bin目录添加到环境变量path中,打开控制台命令,输入mysql –uroot –p,在提示符下输入密码,登录MySQL 服务器,如下图2.2所示。 图2.2 登录MySQL服务器 2、安装Navicat for MySQL Navicat for MySQL 是一款强大的MySQL数据库管理和开发工具,Navicat 使用很好的GUI,可以使用户采用一种安全和更容易的方式创建、组织、存取和共享信息。 安装Navicat_for_MySQL_10.1.7,安装向导启动界面如下图2.3所示。

福建工程学院《实验指导书(数据库系统原理及应用)》

数据库系统原理 实验指导书 (本科)

目录 实验一数据定义语言 (1) 实验二SQL Sever中的单表查询 (3) 实验三SQL Serve中的连接查询 (4) 实验四SQL Serve的数据更新、视图 (5) 实验五数据控制(完整性与安全性) (7) 实验六语法元素与流程控制 (9) 实验七存储过程与用户自定义函数 (11) 实验八触发器 (12)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录; (4)将年龄的数据类型改为smallint; (5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime); (6)对表S,按年龄降序建索引(索引名为inxage); (7)删除S表的inxage索引; (8)删除S表; 5.在StuDB数据库中, (1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。 并输入相关数据。 (2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。 6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据 库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

数据库实验二

数据库实验二 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

实验报告册 2014 / 2015 学年第2 学期 系别计算机科学与技术系 实验课程数据库原理 专业计算机科学与技术 班级 姓名 学号 指导教师 实验二——SQL语句 一、实验目的 1.熟悉SQL的数据查询语言,能使用SQL进行单表查询、连接查询、嵌套查询、集 合查询和统计查询,能理解空值的处理;

2.熟悉数据库的数据更新操作,能使用SQL语句对数据库进行数据的插入、更新、 删除操作; 3.熟悉SQL支持的有关视图的操作,能创建、查询及取消视图; 4.了解NULL在数据库中的特殊含义,掌握使用SQL进行与空值相关的操作; 二、实验预习内容 在认真阅读教材及实验指导书【实验1.2 数据查询】、【实验1.3 数据更新】、【实验1.4 视图】和【实验1.6 空值和空集的处理】的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。 1.使用SCHOOL数据库,在SQL SERVER 2000 的查询分析器中使用SQL语言完成以 下操作。请在空白处填写相应的SQL命令。 1)查询年级为2001的所有学生的名称,按编号顺序排列; 2)查询所有课程名称中含有data的课程编号; 3)统计所有老师的平均工资; 4)查询至少选了3门课的学生编号; 5) 6)查询没有学生选的课程编号; 7)查询既选了C++又选了Java课程的学生编号; 8)查询选了C++但没选Java课程的学生编号; 9)向STUDENTS表中插入“LiMing”的个人信息); 10)将“LiMing”的年级改为2002; 11)删除所有选了Java课程的学生选课记录; 12)求出每门课的课程号、选课人数,结果存入数据库表T1中。

实验一 创建数据库和表1

实验一创建数据库和表 一、目的和要求 (1)熟练掌握创建、打开和关闭数据库的方法 (2)熟练掌握表结构的设计和修改方法 (3)掌握为字段设置字段属性的方法 (4)熟练掌握为表定义主键的方法 (5)熟练掌握建立表间关系 二、内容和主要步骤 1.创建空数据库 建立“选课系统.accdb”数据库,并将建好的数据库文件保存在“D:\实验一”文件夹中。操作步骤: 图1-1创建教学管理数据库 (1)在Access 2010启动窗口中,在中间窗格的上方,单击“空数据库”,在右侧窗格的文件名文本框中,给出一个默认的文件名“Database1.accdb”。把它修改为“选课系统”如图1-1所示。 (2)单击按钮,在打开的“新建数据库”对话框中,选择数据库的保存位置,在“D\实验一”文件夹中,单击“确定”按钮,如图1-2所示。 (3)这时返回到access启动界面,显示将要创建的数据库的名称和保存位置,如果用户未提供文件扩展名,access将自动添加上。 (4)在右侧窗格下面,单击“创建”命令按钮,如图1-1所示。 (5)这时开始创建空白数据库,自动创建了一个名称为表1的数据表,并以数据表视图方式打开这个表1,如图1-3所示。

图1-2“文件新建数据库”对话框 (6)这时光标将位于“添加新字段”列中的第一个空单元格中,现在就可以输入添加数据,或者从另一数据源粘贴数据。 图1-3 表1的数据表视图 2.数据库的打开 以独占方式打开“选课系统.accdb”数据库。操作步骤: (1)选择“文件”→“打开”,弹出“打开”对话框。 (2)在“打开”对话框的“查找范围”中选择“D:\实验一”文件夹,在文件列表中选“选课系统.accdb”,然后单击“打开”按钮右边的箭头,选择“以独占方式打开”。如图1-4所示。

实验2 创建数据库和表

实验2 创建数据库和表 一、实验目的 1.了解MySQL数据库中的存储引擎分类 2.了解表的结构特点 3.了解MySQL的基本数据类型 4.了解空值的概念 5.学会在MySQL界面工具中创建数据库和表 6.学会使用SQL语句创建数据库和表 二、实验准备 1.首先要明确,能够创建数据库的用户必须是数据管理员,或是被授权使用 CREATE DATABASE语句的用户。 2.其次,确定数据库包含哪些表,以及所包含的个表的数据结构,还要了解 MySQL的常用数据类型,以及创建数据库的表。 3.此外还要了解两种常用的创建数据、表的方法,即在界面管理工具中创建 和使用CREATE DATABASE 语句创建。 三、实验内容及要求 (一)数据表描述 创建用于企业用于管理的员工管理数据库,数据库名为YGGL,包含员工的信息,部门信息,及员工的薪水信息。数据库YGGL包含下列三个表: Employees:员工信息表 Departments:部门信息表 Salary:员工薪水情况表 Employees表结构 Departments表结构

Salary表结构 (二)实验内容 1.使用命令行方式创建数据库YGGL。 1)打开MySQL command line client,输入管理员密码登录,使用CREATE 语句创建YGGL数据库。 2)在YGGL数据库存在的情况下,使用CREATE DATEBASE语句新建数据 库YGGL,查看错误信息,再尝试加上IF NOT EXISTS关键词创建YGGL,看看有 什么变化。 3)使用命令方法创建数据库YGGL1,要求数据库字符集为utf8,校对规 则为utf8_general_ci。 2.使用SQL语句在YGGL数据库中创建表employees 1)执行创建表Employees的Sql语句。 3.使用SQL语句删除表和数据库 1)删除表Employees。 2)删除数据库YGGL。 3)复制表Employees,命名为Employees1。使用命令行将表Emloyees1 中的Emailaddress列删除,并将Sex列的默认值修改为男。

实验二数据查询(带答案)

实验二数据查询(4学时) 实验目的: (1)掌握SQL语言的数据查询语句 实验内容: (1)将学生成绩数据库(XSCJ)导入SQL SERVER 2008,并做如下查询。 (注:数据文件和日志文件从服务器上下载直接导入)) 1)查询选修了课程的学生的学号; 2)查询全体学生的姓名和出生年份,并将列别名改为XM和CSNF; 3)查询年龄在18到20(包括18岁和20岁)之间学生的学号、姓名和系。 4)查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。 5)用LIKE查询课程名为DB_S程的课程号和学分。 6)查所有有成绩的学生学号和课程号。 7)查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄 升序排列 8)查询选修了课程的学生人数。 9)计算1号课程的学生平均成绩。 10)查询有3人以上(含3人)同学选修课程的课程号。 11)查询1号课程的间接先修课。 12)查询每个学生的学号、姓名、选修的课程名及成绩。 13)找出每个学生等于他选修课程平均成绩的课程号。

(2)将以下数据录入上次实验建立的BSXT 数据库,并完成以下查询。 Student(学生表) Teacher (教师表) Topic (选题情况 表)

1)查询全体学生的学号和姓名和电话。 2)查询全体学生的基本情况。 3)查询带了毕业生的老师的教师号。 4)查询教师“朱龙”基本情况。 5)查询所有姓“王”同学的基本情况。 6)统计每种学历老师的人数。 7)查询1组老师所带毕业生的基本情况(包括学号,姓名,教师号,教师姓名,毕业设 计题目)(注:1组老师只能带1组的学生) 8)查询所有学生的选题情况(包括没有选题的学生),包括学号,姓名,题目名称,教 师名称。(注:要求老师的组号和学生的组号相一致.) /* --1) 查询选修了课程的学生的学号; SELECT DISTINCT Sno FROM SC */ /* --2) 查询全体学生的姓名和出生年份,并将列别名改为XM和CSNF; SELECT Sname XM,2017-Sage CSNF FROM Student */ /*

实验一 创建数据库和表

实验一创建数据库和表 1、目的和要求 (1)了解SQL Server数据库的逻辑结构和物理结构。 (2)了解表的结构特点 (3)了解SQL Server的基本数据类型。 2、实验内容 (1)实验题目 ①创建一个新的数据库。创建用于企业管理的员工数据库,数据库名称为YGGL。 ②在创建好的数据库YGGL中创建数据表。考虑到数据库YGGL中包含员工的信息、部分信息以及员工的薪水信息,所以数据库YGGL应该包含三个表:Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。 3、实验步骤 (1)在对象资源管理器中创建数据库YGGL。 (2)删除数据库YGGL。 ①界面操作删除数据库 删除数据库YGGL时,右键单击数据库,弹出菜单点击“删除”,弹出“删除对象”窗口,确认删除。

②T-SQL语句删除数据库 在代码空白处右击鼠标,弹出菜单选择“执行(X)”或者键盘“F5”运行代码,在下方会显示运行成功。 此时在左侧“对象资管理器”中右键点击“数据库”选择刷新数据库,会发现数据库“PX”已经删除。 注意:当执行过一遍代码时,也就是执行了T-SQL语句删除数据库后再次执行代码会出现这样的警告。原因是由于执行过一遍T-SQL语句,进行操作的数据库已经被删除,不存在。 (3)使用T-SQL语句创建数据库YGGL。 新建查询后,在窗口中输入上面代码,右键代码空白处执行。然后在“对象资源管理器”中查看。如果“数据库”列表中并未列出YGGL数据库,则单击右键“数据库”,选择“刷

新”选项,“数据库”列表中就会出现创建的YGGL数据库。 (4)在对象资源管理器中创建表。 ①创建表。Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。 在对象资源管理器中选择创建的数据库“YGGL”,展开数据库YGGL,选择“表”,右键单击“表”在弹出的菜单中选择“新建表”。将表保存并命名为“Employees”。下面是相同方法创建的Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。 Employees(员工自然信息)表 Departments(部门信息)表 Salary(员工薪水情况)表

数据库系统原理与设计(第二版)实验一至实验三

实验一 1-1.查询员工的姓名、职务和薪水 select employeeName,headShip,salary from employee 图1-1 2.查询名字中含有“有限”的客户姓名和所在地 select CustomerName,address from Customer where CustomerName like '%有限%'

3. 查询出姓“张”并且姓名的最后一个字为“梅”的员工。 select * from employee where employeeName like '张%梅' 图1-3 4. 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示 SELECT employeeName,department,address, isnull (convert(char(10),birthday,120),'不详')出生日期, case sex when 'M'then '男' when 'F'then'女' end as 性别 from employee where (address like '%上海%'or address like '%南昌%')and sex='F'

5. 查询出职务为“职员”或职务为“科长”的女员工的信息 select * from employee where (headship='职员' or headship='科长') and sex='F' 图1-5 6. 选取编号不在“C20050001”和“C20050004”的客户编号、客户名称、客户地址。 Select * from Customer where CustomerNo not in ( 'C20050001' ,'C20050004')

数据库原理实验2数据查询

课程名称数据库原理 实验序号 2 实验项目数据查询 实验地点 实验学时实验类型验证性 指导教师实验员 专业班级 学号姓名 年月日 成绩:A 教师该学生本次实验的内容丰富,完成的操作步骤详细具体,实验结果正确,在实验报告的填写中态度十分严谨,对数据分析有自己的见解。

四、实验过程(实验步骤、记录、数据、分析) 实验准备:在实验一的基础上(包括数据库的建立、定义表和添加表内容)进行实验,下面分别为depts表、students表、courses表、reports表。 一、简单的选择与投影查询 1、无条件查询 1.1查询全体学生的详细记录。这是一个无条件的选 择查询,其命令为: 其命令为: select * from students 运行结果如右图,显示整张表的内容。 1.2查询全体学生的姓名(Sname)、学号(Sno)、所在系 (dno)。这是一个无条件的投影查询,其命令为: select sname,ssex from students 运行结果如右图,显示了表中的三列。 1.3查询全体学生的姓名(Sname)、出生年份及学号 (Sno)。其命令为: select sno,sname,2017-sage as birth from students 运行结果如右图,显示了三列内容。

1.4查询全体学生的姓名、出生年份和学号,要求用小写 字母表示学号中的字母。其命令为: select sname,'birth:' title,YEAR(GETDATE())-sage birthyear,LOWER(sno) lsno from students 运行结果如右图,显示了四列内容。 1.5查询选修了课程的学生学号。其命令为: select distinct sno from reports 运行结果如右图,distinct短语是为了消去查询结果中的重复值。 2、条件查询 (1)比较条件 1.1查询d03系全体学生的学号(Sno)和姓名(Sname)。其命令为: select sno,sname from students where dno='d03' 运行结果如右图,显示了d03系的全体学生姓名与学号。 1.2查询所有年龄在18~22岁(包括18岁和22岁)之间的学生姓名(Sname)及年龄(Sage)。其命令为: select sno,sage from students where sage >= 18 and sage <=20 运行结果如右图,共有5名在18岁到20岁的学生。 (2)谓语条件 2.1查询年龄在18~22岁(包括18岁和22岁)之间的学生姓名(Sname)及年龄(Sage)。其命令为: select sno,sage from students where sage between 18 and 20 运行结果如右图,结果与比较条件的结果一样。 2.2查询年龄不在18-22岁之间的学生姓名(Sname)及年龄(Sage)。其 命令为: select sno,sage from students

实验二 _数据库及基本表的建立

实验二数据库及基本表的建立 一、实验目的 1、掌握SQL SERVER的查询分析器和企业管理器的使用; 2、掌握创建数据库和表的操作; 二、实验内容和要求 1、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库; 2、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库表; 三、实验主要仪器设备和材料 1.计算机及操作系统:PC机,Windows 2000/xp; 2.数据库管理系统:SQL sever 2000; 四、实验方法、步骤及结果测试 1、创建数据库“student”,指定数据文件位置放在E盘,初始大小30MB,增长20%。找到主数据文件和日志文件,观察大小 实现代码: Create database student ON ( NAME=St_DAT, FILENAME='E:\St.mdf', SIZE=30MB, FILEGROWTH=20% ) LOG ON ( NAME=SC_LOG, FILENAME='E:\St.ldf', SIZE=2MB, FILEGROWTH=1MB ) 步骤:

2、创建基本表S表

Sc表: SQL语句 create table S ( Sno char(10)primary key, Sname char(10)not null, Ssex char(2)check(Ssex='男'or Ssex='女'), Ssp char(20), Sdept char(20), Sbirth datetime, ); create table C( Cno char(10)primary key, Cname Char(10)unique, CCredit real check(CCredit>=0 and CCredit<=20));

大数据库系统应用与开发--实验二

实验二JDBC基础(1) 一、相关知识点 1、JDBC基本概念 2、java连接数据库的方式 3、JDBC简单查询 二、实验目的: 理解Java连接数据库的基本概念。理解JDBC的四种驱动程序,掌握纯java驱动和jdbc-odbc驱动。理解Statement对象和ResultSet对象。 三、实验内容: 1、将booklib应用的JDBC驱动程序改成JDBC-ODBC驱动方式。 第一步:设置ODBC数据源;

第二步:修改DBUtil类中的相关代码;

第三步:运行程序 【实验结果与分析】 A、说明需要修改DBUtil类的哪些地方,及修改原因? private static final String jdbcUrl="jdbc:odbc:cjeSQL"; 因为booklib应用的驱动方式是jdbc-odbc驱动 2、利用Statement对象和Result对象实现按出版社名称精确查询出版社功能(精确查 询是指查询的目标和查询条件中值完全相同的数据)。 第一步:在https://www.doczj.com/doc/5f8234977.html,.zucc.booklib.control. PublisherManager类中添加按出版社名称精确查询方法public BeanPublisher loadPubByName(String name)throws BaseException 第二步:编写上述方法,要求当相应名字的出版社不存在时,返回null值;相关代码请参考提取所有出版社函数。 第三步:启动booklib主程序,在出版社管理中录入几个出版社 第四步:清空https://www.doczj.com/doc/5f8234977.html,.zucc.booklib.control. PublisherManager类中的main函数现有内

2实验二 MySQL数据库操作实验

实验二MySQL数据库操作实验 实验目的: 1、掌握MySQL数据库的安装方法 2、掌握MySQL数据库的使用 3、熟悉数据库管理工具的使用 实验要求: 1、利用MySQL命令创建数据库与相应的数据库表,并能向数据库表中插入数据 记录与相应的数据库操作。 2、利用Navicat for MySQL建数据库与相应的数据库表,并能向数据库表中插入 数据记录与相应的数据库操作。 3、保存与导入数据库 4、编程查询显示数据库表中的所有记录,可以选择以下添加的任意一个数据库 表的记录。 实验内容: 1、安装MySQL数据库 安装MySQL可以参照文档“MySQL 5 安装、doc”,安装MySQL并进行配置,安装成功后,即可操作管理数据库。 方法一: 从开始菜单→MySQL→MySQL Server5、0→MySQL Command Line Client,打开控制台界面,提示输入密码,密码输入成功后,登录MySQL数据库,如下图2、1所示。

图2、1 登录MySQL 服务器 方法二:将MySQL的安装路径下的bin目录添加到环境变量path中,打开控制台命令,输入mysql –uroot –p,在提示符下输入密码,登录MySQL服务器,如下图2、2所示。 图2、2 登录MySQL服务器 2、安装Navicat for MySQL Navicat for MySQL 就是一款强大的MySQL数据库管理与开发工具,Navicat 使用很好的GUI,可以使用户采用一种安全与更容易的方式创建、组织、存取与共享信息。 安装Navicat_for_MySQL_10.1.7,安装向导启动界面如下图2、3所示。

数据库实验报告2

实验内容与要求 请有选择地实践以下各题。 (1)基于“教学管理”数据库jxgl,使用SQL的查询语句表达下列查询:①检索年龄大于23岁的男学生的学号和姓名; SELECT Sno,Sname FROM Student WHERE Ssex=’男’AND Sage>23; ②检索至少选修一门课程的女生姓名; SELECT Sname FROM Student WHERE Ssex=’女’AND Sno IN ( SELECT Sno FROM SC GROUP BY Sno HAVING count(*)>=1; ); ③检索王同学不学的课程的课程号; SELECT Cno; FROM Course WHERE Cno NOT IN ( SELECT Cno FROM Student,SC WHERE Sname like ’王%’AND Student.Sno=SC.Sno ); ④检索至少选修两门课程的学生学号; SELECT DISTINCT Sno FROM SC GROUP BY Sno HAVING count(*)>=2; ⑤检索全部学生都选修的课程的课程号与课程名; SELECT Cno,Cname FROM Course WHERE NOT EXISTS ( SELECT * FROM Student WHERE NOT EXISTS ( SELECT * FROM SC WHERE SC.Sno=Student.Sno AND https://www.doczj.com/doc/5f8234977.html,o=https://www.doczj.com/doc/5f8234977.html,o ) ); ⑥检索选修了所有3学分课程的学生学号;

FROM SC X WHERE NOT EXISTS ( SELECT * FROM Course WHERE Ccredit=3 AND NOT EXISTS ( SELECT * FROM SC Y WHERE X.Sno=Y.Sno AND https://www.doczj.com/doc/5f8234977.html,o=https://www.doczj.com/doc/5f8234977.html,o ) ); (2)基于“教学管理”数据库jxgl,使用SQL的查询语句表达下列查询: ①统计有学生选修的课程门数; SELECT count(DISTINCT Cno) FROM SC; ②求选修4号课程的学生的平均年龄; SELECT AVG(Sage) FROM Student,SC WHERE Cno=4 AND Student.Sno=SC.Sno; ③求学分为3的每门课程的学生平均成绩; SELECT AVG(Grade) FROM Course,SC WHERE Ccredit=3 AND https://www.doczj.com/doc/5f8234977.html,o=https://www.doczj.com/doc/5f8234977.html,o GROUP BY https://www.doczj.com/doc/5f8234977.html,o; ④统计每门课程的学生选修人数,要求超过3人的课程才统计,要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列; SELECT Cno,count(Sno) FROM SC GROUP BY Cno HAVING count(Sno)>3 ORDER BY count(Sno) DESC,Cno ASC; ⑤检索学号比“王菲”同学大而年龄比他小的学生姓名; SELECT Sname FROM Student X WHERE Sno> ( SELECT Sno FROM Student Y WHERE Sname=’王菲’AND Sage> ( SELECT Sage FROM Student Z WHERE Sname=’王菲’AND X.Sno=Z.Sno AND Y.Sno=Z.Sno ) ); ⑥检索姓名以“王”打头的所有学生的姓名和年龄;

实验二、创建数据库及表、完整性约束

2.数据库设计 创建文件组,将分散储存的文件指定到同一文件组FILEGROUP下。将表的索引和表构建在同一个架构SCHEMA下,可以减小数据库表的大小,以提升表查询效率。 示例代码 sql> CREATE DATABASE 销售管理 ON PRIMARY ( NAME = SalesData, FILENAME = 'C:\DB\SalesData_1.mdf', SIZE = 50MB, MAXSIZE = UNLIMITED, FILEGROWTH = 20% ), ( NAME = SalesD, FILENAME = 'D:\DB\SalesData_2.ndf', SIZE = 50MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10 MB ) LOG ON ( NAME = SalesLog, FILENAME = 'D:\DB\SalesLog.ldf', SIZE = 10MB, MAXSIZE = 50MB, FILEGROWTH = 10MB ) alter database 销售管理 add filegroup f1 alter database 销售管理 add file (NAME = SalesData,FILENAME = 'C:\DB\SalesData_1.mdf'), (NAME = SalesD,FILENAME = 'D:\DB\SalesData_2.ndf') to filegroup f1 CREATE SCHEMA Sales; GO; CREATE TABLE Sales.Region (Region_id int NOT NULL, Region_Name char(5) NOT NULL) WITH (DISTRIBUTION = REPLICATE); GO 3.为电话字段创建用户定义数据类型 sql>create type telephone from varchar(11) not null

数据库实验二创建数据库和表

实验二创建数据库和表 一、实验目的 1、掌握使用SQL语句创建和删除数据库。 2、了解SQL Server的基本数据类型和表结构特点。 3、掌握使用SQL语句创建和删除数据表,修改表的结构。 二、实验内容 (一)数据库的建立 1、在对象资源管理器里建立名为“stu”的数据库。写出其默认的各参数(包括逻辑文件名、物理文件名、文件初始大小、增长方式、增长大小等)。 答:其默认的个参数如下所示: 行数据文件——逻辑文件名stu,物理文件名空值,文件初始大小3MB,自动增长,增量为1MB,不限制增长。 日志文件——逻辑文件名stu_log,物理文件名空值,文件初始大小1MB,自动增长,增量为10%,不限制增长。 2、在“查询分析器”中使用CREATE DATABASE语句创建名为“student”的数据库,要求如下:数据文件的逻辑文件名为:Students_dat,物理文件名Students.mdf,存放在D:\TEST 文件夹下;文件的初始大小为:1MB;增长方式为自动增长,每次增加1MB;日志文件的逻辑文件名为:Students_log,物理文件名Students.ldf,也存放在D:\TEST文件夹下;文件的初始大小为:1MB;增长方式为自动增长,每次增加10%。 答:语句如下所示: CREATE DATABASE student ON PRIMARY (NAME = Students_dat, FILENAME = ‘D:\ TEST\Students.mdf’, SIZE = 3mb, MAXSIZE = UNLIMITED, FILEGROWTH=1mb) LOG ON (NAME = Students_log, FILENAME = ‘D:\ TEST\Students.ldf’, SIZE = 3mb, MAXSIZE = UNLIMITED, FILEGROWTH=10%) COLLATE Chinese_PRC_CI_AS GO 3、用SQL语句删除数据库stu。 答:语句如下所示: USE master GO DROP DATABASE stu GO

数据库系统概论实验设计答案

数据库系统概论 实验报告册 姓名:momo 学号: 教师:

实验一需求分析(一)——业务流程调查 一、实验目的:掌握需求分析的步骤和业务流程调查的方法;掌握应用Powerbuilder绘制BPM模型 二、学时:6H(课内4H,课外2H) 三、实验软件平台:Windows 2k或Windows XP, Powerduilder9.5,Visio 四、实验内容:根据该VCD连锁店的业务需求调查文字,利用PD绘制该VCD连锁店管理系统的BPM 模型。 五、实验结果: 出售租借:根据购买人或租借人提供的VCD租借单,查阅库存,如果有,则办理销售或租借并登记销售或租借流水帐;如果没有相应的VCD,则可根据购买人或租借人的要求办理预约登记,当有VCD时,及时通知购买人或租借人。 归还:根据租借人提供的所还VCD,检查VCD是否完好,如果完好,则办理归还登记,如果有损坏的VCD,办理赔偿登记。并把赔偿通知单通知给租借人。

逾期罚款通知:查询逾期未还的VCD,及时通知租借人,并进行相应的罚款登记。 六、思考题 1、数据库设计为什么需要进行详细的需求分析? 答:需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是不是准确的反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是不是合理使用情况。 2、需求分析的目标是什么?其调查步骤是什么?常用的调查方法有哪些? 答:(1)需求分析的目标: 1.通过详细调查现实世界要处理的对象,充分了解原系统(手工系统或计算机系统)工作概况, 明确用户的各种需求。 2.在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当 前应用需求来设计数据库。 (2) 调查步骤:

实验2 数据库的单表查询

实验2 数据库的单表查询、分组查询与聚集函数的使用 一、实验目的 本实验的目的是使学生熟悉SQL Server Management Studio的使用方法。加深对SQL语言的查询语句的理解。熟练掌握数据库的单表查询(包括投影、选择条件表达,数据排序,模糊查询等), 熟练掌握数据库的分组、统计、计算和集合的操作方法。 二、实验时数2学时 三、实验内容 1.简单的SELECT查询 1)查询雇员表Empl中所有员工的详细信息,并且列名用汉字表示。 select*from EMPL select ENO 员工编号, ENAME 员工姓名, BIRTHDATE 出生日期, SALARY 工资, DNO 所在部门编号from EMPL; 2)查询项目表Proj中所有项目的详细信息,并且列名用汉字表示。 select PNO 项目编号,PNAME 项目名称from PROJ; 2.使用WHERE子句进行查询 1)查询雇员表Empl中李强的员工编号。 select ENO from EMPL where ENAME='李强'; 注没有李强的信息 2)查询项目表Proj中项目编号为“101”的项目名称。 select*from EMPL select PNAME from PROJ where PNO='101'; 没有101的信息 3.使用DISTINCT关键字去掉重复行 1)查询雇员表Empl中出现的所有部门编号,要求无重复。 select distinct(DNO)from EMPL; 2)查询工作表Job中参与过项目开发的所有员工编号,要求无重复。 SELECT DISTINCT(ENO)FROM JOB WHERE DAYS>0; 4.使用ORDER BY子句对查询结果进行排序

数据库管理系统实验报告含答案

xxxx大学《数据库管理系统》课程实验报告 班级: _______姓名:实验时间:年月日指导教师:_______ 一、实验目的 1、通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。 2、牢固掌握SQL SERVER的功能操作和Transact-SQL语言。 3、紧密联系实际,学会分析,解决实际问题。学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中等。 二、实验内容 1.导入实验用示例数据库: f:\教学库.mdf f:\教学库_log.ldf f:\仓库库存.mdf f:\仓库库存_log.ldf 1.1 将数据库导入 在SqlServer 2005 导入已有的数据库(*.mdf)文件,在SQL Server Management Studio 里连接上数据库后,选择新建查询,然后执行语句 EXEC sp_attach_db @dbname = '教学库', @ = 'f:\教学库.mdf', @ = 'f:\教学库_log.ldf' go use [教学库] EXEC sp_changedbowner 'sa' go EXEC sp_attach_db @dbname = '仓库库存', @ = 'f:\仓库库存.mdf',

@ = 'f:\仓库库存_log.ldf' go use [仓库库存] EXEC sp_changedbowner 'sa' go 1.2 可能出现问题 附加数据库出现“无法打开物理文件"X.mdf"。操作系统错误5:"5(拒绝访问。)"。(Microsoft SQL Server,错误: 5120)”。 解决:找到要附加的.mdf文件-->右键-->属性-->安全-->选择当前用户-->编辑-->完全控制。对.log文件进行相同的处理。 2.删除创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20%,日志文件初始大小为2MB,最大尺寸为5MB,增长速度为1MB。 CREATE DATABASE仓库库存 (NAME = '仓库库存_data', = 'F:\仓库库存_data.MDF' , SIZE = 10MB, = 20%) LOG ON (NAME ='仓库库存_log', = 'F:\仓库库存_log. LDF', SIZE = 2MB, MAXSIZE = 5MB, = 1MB) 2.1 在数据库“仓库库存”中完成下列操作。 (1)创建“商品”表,表结构如表1: (2)创建“仓库”表,表结构如表2: 表2 仓库表

相关主题
文本预览
相关文档 最新文档