SQL server数据库五大实验
文章目录
- 前言
- 实验一 数据库和基本表操作
- 一、实验目的
- 二、实验学时
- 三、实验内容
- 四、预备知识
- 实验二 数据操作
- 一、实验目的
- 二、实验学时
- 三、实验内容
- 四、预备知识
- 实验三 单表查询
- 一、实验目的
- 二、实验学时
- 三、实验内容
- 四、预备知识
- 实验四 多表连接查询
- 一、实验目的
- 二、实验学时
- 三、实验内容
- 四、预备知识
- 实验五 嵌套查询与集合查询
- 一、实验目的
- 二、实验学时
- 三、实验内容
- 四、预备知识
前言
对于SQL server数据库的学习,新手学习时往往涉及到五个经典实验,分别是数据库和基本表操作、数据操作、单表查询、多表连接查询以及嵌套查询与集合查询,实验内容并不难,关键在于大家动手实践才能掌握好基础,本文是作者当时学习时的一些部分实验内容,实验详细报告在每个实验的最后链接里,分享给大家,欢迎大家批评指正!
实验一 数据库和基本表操作
一、实验目的
熟悉SQL Server 2012系统环境,了解SQL Server基本管理工具、实用程序的使用。掌握利用对象资源管理器和Transact-SQL语句进行数据库及基本表的定义、修改和删除。掌握主码、外码及约束的创建和应用。
二、实验学时
2学时
三、实验内容
(1)使用对象资源管理器和Transact-SQL语句创建数据库。
(2)使用对象资源管理器和Transact-SQL语句创建基本表,定义表的约束。
(3)使用对象资源管理器和Transact-SQL语句修改、删除基本表。
四、预备知识
(1)SQL全称为Structured Query Language(结构化查询语言),由Boyce和Chamberlin于1974年提出。SQL语言结构简洁,功能强大,简单易学。SQL语言集数据定义(Data Definition)、数据操作(Data Manipulation)和数据控制(Data Control)功能于一体,充分体现了关系数据库语言的特点和优点。
(2)SQL语言使用CREATE DATABASE语句定义数据库,基本格式如下:
CREATE DATABASE database_name
[ON [PRIMARY]
([NAME = logical_file_name,]
FILENAME = ‘os_file_name’
[,SIZE = size]
[,MAXSIZE = {max_size|UNLIMITED}]
[,FILEGROWTH = growth_increment])[,…n]
::= FILEGROUP filegroup_name [,…n]
LOG ON
(NAME = logical_file_name,FILENAME =‘os_file_name’
SIZE = size,
MAXSIZE = {max_size | UNLIMITED},
FILEGROWTH= growth_increment)];
(3)SQL语言使用CTEATE TABLE语句定义基本表,基本格式如下:
CREATE TABLE <表名>(<列名><数据类型>[列级完整性约束条件]
[,<列名><数据类型>[列级完整性约束条件]]
[,<表级完整性约束条件>]);
·列级完整性约束条件:涉及相应属性列的完整性约束条件。
·表级完整性约束条件:涉及一个或多个属性列的完整性约束条件。
(4)定义基本表时必须对表的完整性进行定义,常用的完整性约束如下。
·PRIMARY KEY:主码,用于定义实体完整性。利用表中一列或多列来唯一标识一行数据,确保对应的数据列不为空,且数据不重复。
·FOREIGN KEY:外码,用于定义参照完整性,主要用来维护两个表之间的数据一致性。
·NOT NULL:列值非空。
·UNIQUE:列值唯一,主要用于约束主码外的数据列的唯一性。
·CHECK:检查列值是否满足一个条件表达式。
·DEFAULT:列值的默认值,处理用户不包含全部数据列的数据插入。
(5)SQL语言使用ALTER TABLE语句修改基本表,基本格式如下:
ALTER TABLE <表名>
[ADD [COLUMN]<新列名><数据类型>[完整性约束]]
[ADD<表级完整性约束>]
[DROP[COLUMN]<列名>[CASCADE| RESTRICT]]
[DROP CONSTRAINT<完整性约束名>[CASCADE| RESTRICT]]
[ALTER COLUMN <列名><数据类型>];
(6)SQL 语言使用 DROP TABLE 语句删除基本表,基本格式如下:
DROP TABLE <表名> [CASCADE| RESTRICT]];
剩下具体实验步骤、内容和实验报告我放在链接里了,大家自行下载学习即可!
实验一 提取码:rhgj
实验二 数据操作
一、实验目的
掌握利用对象资源管理器和Transact-SQL语句两种方法对基本表进行插入、修改和删除操作。
二、实验学时
1学时
三、实验内容
(1)使用对象资源管理器对基本表进行插入、修改和删除操作。
(2)使用Transact-SQL语句对基本表进行插入、修改和删除数据操作。
四、预备知识
(1)SQL 的数据插入语句 INSERT 通常有两种形式。
插入单个元组,语句格式如下:
INSERT INTO <表名>[(<属性列 1>[,<属性列 2>] … )]
VALUES(<常量 1>[,<常量2>] … );
多记录插入——将 SELECT 语句的查询结果插入数据表,语句格式如下:
INSERT INTO <表名>[(<属性列 1>[<属性列 2>] …… )]
子查询;
(2)数据修改操作 UPDATE 语句一般格式如下:
UPDATE <表名>
SET<列名>=<表达式>[<列名>=<表达式>] …
[WHERE<条件>];
(3) 数据删除操作 DELETE 语句一般格式如下:
DELETE FROM <表名>
[WHERE<条件>];
剩下具体实验步骤、内容和实验报告我放在链接里了,大家自行下载学习即可!
实验二 提取码:6m51
实验三 单表查询
一、实验目的
掌握 SQL Server 2012 查询窗口的使用方法,加深对 SQL 查询语句的理解。熟练掌握SQL查询语句的一般格式。灵活掌握SELECT子句中“目标列表达式”、WHERE子句中“条件表达式”的各种使用形式和聚集函数的一般格式。
二、实验学时
2学时
三、实验内容
(1)SELECT子句中“目标表达式”的各种使用形式。
(2)WHERE子句中“条件表达式”的各种使用形式。
(3)GROUP BY子句的使用方法。
(4)聚集函数的使用方法。
四、预备知识
(1)数据查询是数据库的核心操作。SQL使用SELECT语句进行数据查询,该语句使用方式灵活、功能丰富。虽然SELECT语句的完整语法较复杂,但其一般格式如下:
SELECT [ALL|DISTINCT]<目标列表达式>[别名][,<目标列表达式>[别名]] …
FROM<表名或视图名>[别名][,<表名或视图名>[别名]] … (<SELECT 语句>)[AS]<别名>
[WHERE<条件表达式>]
[GROUP BY<列名 1>[HAVING<条件表达式>]]
[ORDER BY<列名2>[ASC|DESC]];
整个SELECT语句的含义是:根据WHERE子句的条件表达式从FROM子句指定的基本表、视图或派生表中找出满足条件的元组,再按SELECT子句中的目标列表达式选出元组中的属性值形成结果表。
如果有GROUP BY子句,则将结果按照<列名1>的值进行分组,值相等的元组为一组。如果GROUP BY子句带HAVING短语,则只有满足指定条件的组才会输出。如果有ORDER BY子句,则结果还要按照<列名2>的值的升序或降序排序。
(2)SELECT子句的<目标列表达式>的可选格式如下:
, <表名> ., COUNT(),聚集函数([DISTINCT|ALL]<列名>),[<表名>.]<属性列名表达式>
其中,<属性列名表达式>可以是由属性列、作用于属性列的聚集函数和常量的任意算术运算(+ ,-,,/)组成的运算公式。
(3)聚集函数的一般格式:
COUNT/ SUM /AVG/ MAX/ MIN([DISTINCT|ALL]<列名>)
如果指定DISTINCT短语,表示在计算时要取消指定列中的重复值,否则表示不取消重复值。
(4)WHERE子句的<条件表达式>的可选格式如下:
①<属性列名>θ<属性列名>/<常量>/ ANY|ALL
② <属性列名>[NOT] BETWEEN<属性列名>/<常量>/(SELECT 语句)AND <属性列名>/<常量>/(SELECT 语句)
③<属性列名> [NOT] IN(<值1>[,<值2>] … )/(SELECT 语句)
④<属性列名> [NOT] LIKE <匹配串>
⑤<属性列名>IS [NOT] NULL
⑥[NOT] EXISTS (SELECT 语句)
⑦ <条件表达式> AND/OR <条件表达式>
剩下具体实验步骤、内容和实验报告我放在链接里了,大家自行下载学习即可!
实验三 提取码:4os4
实验四 多表连接查询
一、实验目的
熟练掌握SQL查询语句的一般格式,灵活掌握各类连接查询的使用。
二、实验学时
1学时
三、实验内容
(1)等值与非等值连接查询。
(2)自然连接查询。
(3)自身连接查询。
(4)外连接查询。
四、预备知识
(1)多表的连接查询,相当于在表上做笛卡尔积。
SELECT<目标列表达式列表>
FROM 表名 1,表名2
(2)等值与非等值连接。
连接查询的连接条件或连接谓词,其一般格式如下:
[<表名 1>.]<列名 1><比较运算符>[<表名 2>.]<列名 2>
其中,<比较运算符>主要有 =、 >、<、> =、 < =、!=。 当连接运算符为=时,称为等值连接,否则称为不等值连接。
【注】多表连接时,当某列名在两张表中同时存在时,在列名前要加表名以示区分。
(3)自然连接。
若在等值连接中把目标列中重复的属性列去掉则为自然连接。
(4)自身连接。
连接操作的对象是一张表与其自身,称为表的自身连接。
【注】自身连接因为是对同一张表操作,为区分对该表操作的顺序,需要取两个别名,以示区别。
(5)外连接。
如果把悬浮元组也保存在结果关系中,而在其他属性上填写空值(NULL),这种连接称为外连接。外连接还可分为左外连接、右外连接。
剩下具体实验步骤、内容和实验报告我放在链接里了,大家自行下载学习即可!
实验四 提取码:kgwa
实验五 嵌套查询与集合查询
一、实验目的
熟练掌握嵌套查询、集合查询的使用,理解掌握相关子查询与不相关子查询。
二、实验学时
2学时
三、实验内容
(1)带IN谓词的子查询。
(2)带比较运算符的子查询。
(3)带ANY或ALL谓词的子查询。
(4)带EXISTS谓词的子查询。
(5)集合查询。
四、预备知识
(1)在 SQL 语言中,一个 SELECT-FROM-WHERE 语句称为一个查询块。如将一个查询块嵌套在另一个查询块的 WHERE 子句或 HAVING 短语的条件中,则此查询称为嵌套查询。上层的查询称为外查询或父查询,下层的查询称为内查询或子查询。
SQL 语言还允许多层嵌套查询,即子查询中还可以嵌套其他子查询。
【注】子查询的 SELECT 子句中不能使用 ORDER BY 子句。
(2)IN 谓词子查询。
在嵌套查询中,子查询的结果常常是一个集合。故谓词 IN 经常用于嵌套查询,其一般格式如下:
SELECT<目标列表达式列表>
FROM 表名
WHERE 列名 IN
(SELECT 子句)
(3)比较运算符的子查询。
比较运算符的子查询是指父查询与子查询之间通过比较运算符进行连接的嵌套查询。当能确切知道子查询返回的是单个值时,父查询与子查询之间就可以通过比较运算符(>、> =、 << ==、!= )连接起来。
(4)EXISTS 谓词子查询。
带 EXISTS 谓词的子查询不返回任何数据,只产生逻辑真值 TRUE 或逻辑假值 FALSE。若内层查询结果非空,则外层的 WHERE 子句返回真值,否则返回假值。由 EXISTS 引出的子查询,其目标列表达式通常都用 *,因为带 EXISTS 的子查询只返回真值或假值,给出列名无实际意义。EXISTS 子查询中一般是相关子查询,即子查询脱离父查询后不能单独执行。
(5)不相关子查询与相关子查询。
如果子查询的查询条件不依赖于父查询,称为不相关子查询;依赖于父查询,称为相关子查询。不相关子查询常用的求解方法是由里向外处理,即先执行子查询,子查询的结果用于建立父查询的查询条件。相关子查询的求解与不相关子查询的求解完全不同,不能一次将子查询求解出来,然后求解父查询,由于子查询与父查询相关,因此必须对子查询反复求值。
(6)SELECT 语句的查询结果是元组的集合,因此多个 SELECT 语句的查询结果可进行集合操作。参加集合操作的各查询结果的列数必须相同,对应项的数据类型也必须相同。常见的集合操作包括并操作 UNION、交操作 INTERSECT 和差操作 EXCEPT。
剩下具体实验步骤、内容和实验报告我放在链接里了,大家自行下载学习即可!
实验五 提取码:n7us
SQL server数据库五大实验相关推荐
- 如何使用SQL Server数据库实验助手(DEA)工具
介绍 (Introduction) This is my second article about Database Experimentation Assistant (DEA). Please r ...
- 如何下载和安装SQL Server数据库实验助手(DEA)
介绍 (Introduction) The Database Experimentation Assistant (DEA) is a new Experimental solution provid ...
- 如何下载和安装SQL Server数据库实验助手(DEA v2.0)
介绍 (Introduction) I had the opportunity to work and perform various tests with Database Experimentat ...
- SQL Server数据库中、获得刚插入新记录的自动ID号
以下的文章主要是介绍在SQL Server数据库中正确获得刚插入一条新记录的自动ID号的实际操作过程,下面就是文章对其的主要内容的具体描述,望大家在浏览之后会对其有更深的了解. 使用[IDENT_CU ...
- 【QT 数据库专辑】【04】WIN7下搭建本地SQL SERVER数据库 - 手把手-登录远程数据库帐号设定问题
前言: 多次数据库试验经验报名,远程数据库的访问问题,大多数是因为有帐号和访问权限的原因. 本文,通过从安装SQL SERVER开始暂时,我们在远程访问SQL SERVER数据库的时候可能遇到的问题. ...
- sql server数据库的部署
http://xiaorenwutest.blog.51cto.com SQL Server数据库部署 概述:数据库在企业中现在是必不可少的存储工具,用来会员登录,网站 ...
- SQL Server数据库是否会引发恶意?
介绍 (Introduction) There is a lot of talk about how bad triggers are, how you should never use them, ...
- linux 附加数据库文件,SQL Server 数据库分离与附加图文详解
SQL Server 数据库分离与附加图文教程,需要的朋友可以参考一下. 一.概述 SQL Server提供了"分离/附加"数据库."备份/还原"数据库.复制数 ...
- SQL Server数据库的管理及维护
理论: 首先打开 SSMS(SQL server Management Studio) 使用SSMS可以实现好多功能:注册服务器,连接到数据库引擎,配置服务器的属性,创建对象,管理文件和文件组,附加或 ...
最新文章
- 使用 CAS 在 Tomcat 中实现单点登录
- 《银河英雄传说》杨威利经典语录1(田中芳树最经典的作品,我顶级拥护!有志同道合的一定要来给我留言!)...
- IPC$连接常见问答
- HihoCoder#1051:补提交卡
- mysql自定义函数应用_mysql functions实例:在自定义函数中应用字符串函数
- AciveMQ小结|最后有视频
- linux基础知识——创建进程
- leetcode - 121.买卖股票的最佳时机
- lcy mysql爆破_Lcy’s Blog
- VC++注册,卸载OCX控件,以及判断是否注册
- oracle,sqlserver,mysql区别
- 蓝桥杯 ADV-104算法提高 打水问题
- Keepalived实战(3)
- SQL Server中, DateTime (日期)型操作的 SQL语法
- ubuntu12.04安装出现系统内部错误
- 【超详细】随机变量及其分布——《概率论与数理统计》第二章学习笔记
- 穷举法 解决用3个水桶等分8升水 python实现
- 第三方登录 人人php,php 使用curl模拟登录人人(校内)网的简单实例
- Sonic安装部署之——iOS设备接入
- 1盒子刷Armbian,看这一篇就够了——Armbian全方位安装指导书
热门文章
- 相关系数和相关性分析(下):肯德尔相关系数
- 广东迅视资管 阻碍携号转网,阻碍的是什么
- ElementUI日期转为“yyyy-MM-dd“格式
- Selenium工作原理_Sinno_Song_新浪博客
- `CSS filter` 有哪些神奇用途
- WQ7033开发指南(音频篇)之3.0 如何配置音频模式切换
- 数据分析_python数据可视化(基于matplotlib+pandas)
- 玲珑学院 1127 咸鱼文章
- 时间序列分析教程(二):移动平均与指数平滑
- 关于维基百科你不知道的十件事: