2-Expriment 2数据库实验

2-Expriment 2数据库实验
2-Expriment 2数据库实验

Experiment 2. Expressions and GROUP BY clause

1. Search conditions

1.1 Select rows within a certain range. (Using BETWEEN…AND…)

a. Find all the employees who earn between $1200 and $1400.

b. Find all the employees who do not earn between $1200 and $1400.

1.2 Select rows that match a value in a list. (Using IN(…) operator)

a. Find the employees who are clerks, analysts or salesmen.

b. Find the employees who are not clerks, analysts or salesmen.

1.3 Select rows that match a character string pattern. (Using LIKE operator)

a. Find all the employees whose names begin with the letter “M”.

b. Find all the employees whose names contain the letter “N”.

c. Find all the employees whose names are not 5 characters long.

2. Ordering rows in a query result

2.1 List the employees in department 30 ordered by their salaries in ascending order.

2.2 List the employees in department 30 ordered by their salaries in descending order.

2.3 Order all employees by job. For those with the same job, put them in descending salary order.

3. Expressions

3.1 The ISNULL() function.

Syntax: ISNULL ( check_expression , replacement_value )

Description: Check whether check_expression is a null value. If it is, replace it with replacement_value in the expression.

Example: Calculate the average price of all books. Consider the books without price data as $20.

SELECT AVG(ISNULL(Price, 20)) FROM Books;

3.2 List the name, salary, commission, and sum of salary plus commission of all salesmen.

3.3 List the name, salary and commission of employees whose commissions are greater than 25% of their salaries.

3.4 Calculate the total annual earnings of all salesmen based on their monthly salaries and their monthly commissions.

4. Aggregate Functions

4.1 Find the average salary for clerks.

4.2 Find the total salary and total commission for salesmen.

4.3 Compute the average annual salary plus commission for all salesmen.

4.4 Find the highest and lowest paid employee salaries and the difference between them.

4.5 Count the number of employees who receive a commission.

4.6 Count the number of different jobs held by employees in department 30.

4.7 Count the number of employees in department 30.

5. GROUP BY clause

5.1 List the department number and average salary of each department.

5.2 F ind each department’s average annual salary for all its employees except the managers and the president.

5.3 Divide all employees into groups by department, and by jobs within department. Count the employees in each group and compute each group’s average annual salary.

5.4 List the average annual salary for all job groups having more than 2 employees in the group.

5.5 List all the departments that have at least two clerks.

5.6 Find all departments with an average commission greater than 25% of average salary.

数据库实验2实验报告 2

数据库第二次试验报告 PB10011020 刘思轶实验内容 本实验有两个可选题目,旅游出行和药品免疫库。本程序即为旅游出行的一个实现。 实验原题摘要如下 数据关系模式: 航班FLIGHTS( String flightNum, int price, int numSeats, int numAvail, String FromCity, StringArivCity); 宾馆房间HOTELS( String location, int price, int numRooms, int numAvail);出租车CARS( String location, int price, int numCars, int numAvail);客户CUSTOMERS( String custName); 预订情况RESERVATIONS( String resvKey, String custName, int resvType) 系统基本功能: 1.航班,出租车,宾馆房间和客户基础数据的入库,更新(表中的属性也可以根据你的需要添加)。 2.预定航班,出租车,宾馆房间。 3.查询航班,出租车,宾馆房间,客户和预订信息。 4.查询某个客户的旅行线路。 5.检查预定线路的完整性。 6.其他任意你愿意加上的功能。 程序功能 本系统由旅行服务提供商运营,发布在支持PHP + MySQL 的服务器上。 系统默认有三个角色,游客、用户和管理员。它们的权限如下 1、游客 查询当前航班、旅馆和出租车的预订情况; 2、注册用户 游客的所用权限; 查询当前预订; 预订航班、旅馆和出租车; 退订航班、旅馆和出租车。 打印旅行路线 检查预定路线的完整性。 检查航班的完备性 3、管理员 注册用户的所用权限

实验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列的默认值修改为男。

实验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

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中。

数据库实验 2

实验 2 :数据库的建立和维护实验 本实验需要 2 学时。 一、实验目的 要求学生熟练掌握使用SQL 、Transact-SQL 和SQL Server 企业管理器建立数据库、表、修改数据库、表和删除数据库和表的操作。 二、实验内容和步骤 1.创建数据库 1)在企业管理器中创建数据库student_学号:要求: ●数据库STUDENT_学号初始大小为10MB,最大大小为50MB,数据库自动增长,增长 方式是按5%比例增长; ●日志文件初始大小为2MB,最大可增长到5MB,按1MB增长; ●数据库的逻辑文件名和物理文件名均采用默认值; ●(分别为STUDENT_学号_data和e: \sql\data\MSSQL\STUDENT_学号.MDF) ●事务日志的逻辑文件名和物理文件名也采用默认值。 ●(分别为STUDENT_学号_LOG和e: \sql\data\MSSQL\STUDENT_学号_LOG.ldf) 2)②使用T-SQL语句创建数据库STUDENT_学号,要求同1; Create database STUDENT_01 On (name=STUDENT_01_data, filename='e:\STUDENT_01.MDF', size=10, maxsize=unlimited, filegrowth=10%) log on (name=student1_log, filename='e:\STUDENT_01.LDF', size=2, maxsize=5,

filegrowth=1) 2. 创建表 以上面创建的数据库为例,创建表。创建表实际上就是创建表结构,再向表中输入数据。既可以使用企业管理器创建表,也可以用Transact-SQL 命令创建表。 (1). 使用企业管理器创建表 利用企业管理器提供的图形界面来创建表,步骤如下: (1)在树形目录中展开【服务器组】→【服务器】→【数据库】→【STUDENT_学号】。 (2)选择【表】,单击鼠标右键,在弹出的快捷菜单中选择【新建表...】命令, 打开设计表对话框。 (3)如图5-10所示,设计表对话框的上半部分有一个表格,在这个表格中输入列的列名、数据类型、长度(有的数据类型不需要指定长度,如datetime 类型的长度为固定值8)、是否可以为空,在允许空域中单击鼠标左键,可以切换是否允许为空值的状态,打勾说明允许为空值,空白说明不允许为空值,默认状态是允许为空值的。 (4) 图5-10所示的设计表对话框的下半部分是特定列的详细属性,包括是否是标识列、是否使用默认值等。 (5)用图5-10所示的方法逐个定义好表中的列。 (6)设置主键约束:选中要作为主键的列,单击工具条上的【设置主键】按钮,主键列的前上方将显示钥匙标记,如图5-11所示。 (7)鼠标右键单击表中的任意一行(即任意一个列的定义),在弹出的快捷菜单中选择【属性】命令,可以打开如图5-12所示的表属性对话框,在该对话框中选择表选项卡,可以指定表的属性,比如表名、所有者、表的标识列等。图5-12中将表的名称设置为Readers , 所有者设置为dbo 。 (8)在属性对话框中选择【关系】选项卡,可以设置列上的外键约束。选择【索引/键】选项卡,可以设置列上的索引,以及主键约束和惟一性约束。选择【check 约束】选项卡,

实验一-创建数据库和表

实验一-创建数据库和表

实验一创建数据库和表 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(员工自然信息)表、

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

实验二数据查询(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 */ /*

数据库(实验2)

南京信息工程大学数据库基础教程实验(实习)报告 实验(实习)名称数据库、表的创建实验(实习)日期2016.4 得分指导老师马瑞 系计算机与软件学院专业网络工程班级 2 姓名杨泽瑞学号20141346046 一、实验目的 1.了解在SSMS创建数据库的要求。 2.了解Server数据库的逻辑结构和物理结构。 3.掌握表的结构特点。 4.掌握SQL的基本数据类型。 5.掌握空值概念。 6.掌握SSMS界面和使用T-SQL语句创建数据库的方法。 二、实验内容 1.在SSMS中创建数据库的要求如下: (1)能创建数据库的用户必须是系统管理员,或被授权使用CREATE DATABASE 语句的用户。 (2)创建数据库必须确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初大小、增长方式)和存储数据库的文件。 (3)确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQLServer 的常用数据类型,以创建数据库的表。 2.定义数据库结构。创建学生成绩数据库,数据库名为XSCJ,包含下列3个表。(1)学生表:表名为Student,描述学生信息。 (2)课程表:表名为Course,描述课程信息。 (3)学生选课表:表名为StuCourse,描述学生选课及成绩信息。

3.在SSMS控制台上创建XSCJ数据库。 要求:数据库XSCJ初始大小为5 MB,日志文件初始大小为1 MB,增长方式均采用默认值。数据库的逻辑文件名和物理文件名均采用默认值,分别为XSCJ_data 和f:\prograni FilesVMicrosoft SQL Server\MSSQL.l\MSSQL\data\XSCJ.mdf ,其中 f:\Program Files\Microsoft SQL Server\MSSQL.l\MSSQL\data^ SQL Server 2012的系统安装目录;事务日志的的逻辑文件名和物理文件名也均采用默认值,分别为XSCJ_LOG和 ProgramFiles\MicrosoftSpLServer\MSSQL.l\MSSQL\data\XSCJ_Log.ldf。 注意:不同的安装系统安装目录有可能不相同。 启动SSMS,以系统管理员或被授权使用CREATE DATABASE语句的用户登录SQL Server 2014服务器。在对象资源管理器中“数据库,,图标上单击鼠标右键,在快捷菜单上选择“新建数 ,据库”,将出现如图A2.1所不的“新建数据库”窗口。在“数据库名称”文本框中输入数据库名 1SCJ”,并将逻辑文件的初始大小改为5 MB,单击“确定”按钮,即可创建XSCJ数据库。在对象资源管理器中展开“数据库”图标,将看到新增了“XSCJ”图标。 4.将新创建的XSCJ数据库删除。在资源管理器中选择数据库XSCJ在XSCJ上单击鼠标右键删除。 5.使用T-SQL语句创建XSCJ数据库。启动査询分析器,在查询分析器中输入以下语句:

数据库原理实验一-数据库和表的创建与管理

《数据库原理》实验报告 题目:实验一 数据库和表的创建与管理学号姓名班级日期 2016.10.15 一.实验内容、步骤以及结果 1.利用图形用户界面创建,备份,删除和还原数据库和数据表 (1)创建SPJ数据库,初始大小为10MB,最大为50MB,数据库自动增长,增长 方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB 增长。数据库的逻辑文件名和物理文件名均采用默认值。 (2)在SPJ数据库中创建如图2.1-图2.4的四张表

(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。(提示: 最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名)

(4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为 mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。 (5) 删除已经创建的工程项目表(J表)。 (6) 删除SPJ数据库。(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对应的mdf,ldf文件是否存在) (7) 利用备份过的bak备份文件还原刚才删除的SPJ数据库。(还原数据库) (8) 利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。(附加) (9) 将SPJ数据库的文件大小修改为100MB。

(10) 修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。 2. 利用SQL语言创建和删除数据库和数据表 (1) 用SQL语句创建如图2.5-图2.7要求的数据库Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名和物理文件名,日志文件名请自定义。

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

实验一 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

数据库-实验二

实验报告册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)查询学号为80009026的学生的姓名、所选课名及成绩; 6)查询没有学生选的课程编号; 7)查询既选了C++又选了Java课程的学生编号;

8)查询选了C++但没选Java课程的学生编号; 9)向STUDENTS表中插入“LiMing”的个人信息(编号:700045678,名字:LiMing,Email:LX@https://www.360docs.net/doc/4917561929.html,,年级:1992); 10)将“LiMing”的年级改为2002;

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

实验二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.360docs.net/doc/4917561929.html,.zucc.booklib.control. PublisherManager类中添加按出版社名称精确查询方法public BeanPublisher loadPubByName(String name)throws BaseException 第二步:编写上述方法,要求当相应名字的出版社不存在时,返回null值;相关代码请参考提取所有出版社函数。 第三步:启动booklib主程序,在出版社管理中录入几个出版社 第四步:清空https://www.360docs.net/doc/4917561929.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

Oracle的文件操作 实验教学目的与要求: 熟悉sqlplus中的常用命令;掌握Oracle的启动和关闭;掌握Oracle文件及管理。 实验具体内容: 请同学们将每道题的结果截图,粘贴到文档相应题目下 (一)数据文件 1、为USERS表空间,增加一个数据文件users02.dbf,大小为10M 2、将users02.dbf数据文件移动到D:\oracle\product\10.2.0\oradata目录下并重命名为 users002.dbf 3、删除users002.dbf文件 提示:使用alter tablespace … drop datafile语句 (二)控制文件 4、实现多路镜像控制文件(参考书63页d) 编辑初始化参数 关闭数据库 拷贝一个原有的控制文件到新的位置,并重新命名。 重新启动数据库

5、查看当前数据库中所有控制文件信息 提示:查看视图v$controlfile select name from v$controlfile; 6、将控制文件备份为二进制文件 提示:使用语句alter database backup controlfile to 目标路径和文件 (三)重做日志文件 7、查看重做日志成员文件所在的重做日志文件组状态 提示:查看v$log视图

8、查看重做日志组及其成员的信息 提示:查看v$logfile视图 9、为数据库添加重做日志文件组组号为4,文件组下有包含redo04a.log与redo04b.log两个文件,大小为4M。 提示:使用alter database add logfile group 日志文件组组号… 两个文件路径和文件名。参考书67页 10、添加重做日志文件组号为4的组成员redo04c.log 提示:使用语句alter database add logfile member….to group 4 11、改变重做日志文件组成员的名称或位置 将redo04a.log更名为redo004a.log,同时将redo04c.log移到d:\oracle\product\10.2.0\oradata 目录下 注意:只能更改处于inactive或unused状态的重做日志文件组的成员文件名称或位置 12、删除重做日志文件组成员 注意:只能更改处于inactive或unused状态的重做日志文件组的成员文件 使用语句alter database drop logfile member…. 然后在删除操作系统中对应的重做日志文件。

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

实验2 创建数据库和表实验报告 一.实验名称:创建数据库和表 二.目的和要求: (1)了解SQL Server数据库的逻辑结构和物理结构。 (2)了解表的结构特点。 (3)了解SQL Server 的基本数据类型。 (4)了解空值概念。 (5)学会使用T-SQL语句创建数据库和表.。 三.实验准备 首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 其次创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长及增长方式)和存储数据库的文件。 然后,确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。 此外还要了解使用T-SQL语句创建数据库、表的方法。 四.实验时间:2011年4月7日 五.实验设备和实验环境: (1) PC机。 (2) SQL Server 2000。 六.实验内容: 1、实验题目 创建用于学校管理的学生-课程数据库,数据库名为“DB_自己的学号”,包含学生的信息、课程的信息以及学生选修的信息,即数据库中包含下列3个表: (l)Student:学生信息表。 (2)Course:课程信息表。 (3)Sc:选修情况表。 2.实验步骤 (1)使用T-SQL语句创建数据库 按照上述要求创建学生-课程数据库。 启动查询分析器→在“查询”窗口中输人创建数据库的T-SQL语句。 单击快捷工具栏的执行图标执行上述语句,并查看执行结果(也可在企业管理器中查看)。 打开查询分析器,在工作区域输入 create database DB_0921121010创建一个以自己学号为名的库,结果如图(1)所示:

数据库实验报告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.360docs.net/doc/4917561929.html,o=https://www.360docs.net/doc/4917561929.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.360docs.net/doc/4917561929.html,o=https://www.360docs.net/doc/4917561929.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.360docs.net/doc/4917561929.html,o=https://www.360docs.net/doc/4917561929.html,o GROUP BY https://www.360docs.net/doc/4917561929.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 ) ); ⑥检索姓名以“王”打头的所有学生的姓名和年龄;

相关文档
最新文档