文档库 最新最全的文档下载
当前位置:文档库 › 实验五 SQL语言数据操纵语言DML

实验五 SQL语言数据操纵语言DML

实验五  SQL语言数据操纵语言DML
实验五  SQL语言数据操纵语言DML

实验五 SQL语言数据操纵语言DML

一、实验目的

SQL语言的数据操纵功能通过DML(数据维护语言)实现。DML包括数据查询和数据更新两种数据操纵语句。其中,数据查询指对数据库中的数据查询、统计、分组、排序等操作;数据更新指数据的插入、更新和删除等数据维护操作。

本次实验了解DML语言的INSERT、UPDATE、DELETE等数据维护语言,掌握在Navicat for MySQL中用DML语言的INSERT、UPDATE、DELETE对表进行数据插入、更新和删除。

二、实验要求

1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,实验时注意每种SQL语句的基本命令及各个关键字的含义,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次实验前交实验报告。

三、实验的重点与难点

1、重点:

(1)用INSERT语句向表中插入数据。

(2)用UPDATE语句更新(修改)表中已有数据。

(3)用DELETE语句删除表中数据。

2、难点:

INSERT语句中,使用从子表插入数据的FROM子句。

UPDATE语句和DELETE语句的WHERE子句。

四、仪器设备及用具

硬件:投影仪、每位同学分配已连接校园网PC机一台。

软件:本机已安装MySQL 5.5数据库平台。

五、教学过程

(一)实验预习

(1)熟悉SQL中的INSERT、UPDATE、DELETE语句的格式及所用的关键字含义及用法。

(2)掌握INSERT语句的两种不同插入数据方式。

(3)掌握UPDATE语句和DELETE的一般用法。

(二)实验原理

在Navicat for MySQL中使用INSERT语句向表中插入数据。使用UPDATE 语句更新(修改)表中已有数据。使用DELETE语句删除表中数据。

(三)实验内容

1.启动Navicat for MySQL,用INSERT语句对表进行单条数据插入操作,语法格式如下:

Insert Into <表名> [(<属性列1>[,<属性列2>]…)] Values (<常量1>[,<常量2>]…);

其中,INSERT INTO指明要插入的表以及表中的属性列(字段),VALUES指明要插入相应属性列(字段)的值。

例如:

Insert into test (name,age,score,address) values ('吴思远',35,590.00,'重庆邮电大学计算机学院');

用INSERT语句对表进行批量数据插入操作,语法格式如下:

Insert Into <表名1> [(<属性列1>[,<属性列2>]…)] Select [(<属性列1>[,<属性列2>]…)] From <表名2>;

INSERT语句的批量插入,把从其他表中查询出来数据插入到当前表中。

例如:

Insert into test (name,age,score,address) Select name,age,score,address from test_temp;

2.在Navicat for MySQL中,用UPDATE语句对表中已有的数据进行修改,语法格式如下:

Update <表名> Set <属性列>=<表达式>[,<属性列>=<表达式>][,…n]

[Where <条件>];

其中,表名指定要更新的表,SET指定要更新的属性列(字段)及其相应的值,WHERE指定更新条件。

例如:

Update test set age = 37 where name='吴思远' and address='重庆邮电大学计算机科学与技术学院';

3.在Navicat for MySQL中,用DELETE语句对表中已有的数据进行删除,语法格式如下:Delete From <表名> [Where <条件>];

其中,FROM指定要删除数据的表,WHERE指定要删除数据的条件。

例如: Delete From test Where age>=35;

(四)注意事项

1、INSERT语句中,无论是哪一种用法,都应该注意要插入的值与要插入的字段相互对应。

2、UPDATE语句中,如果没有指定更新条件WHERE子句,则对表中所有记录进行更新。

3、DELETE语句中,如果没有指定删除条件WHERE子句,则对表中所有记录进行删除。使用DELETE语句删除表中数据时,并不能释放被占用的数据块空间,将来还可以使用回退(Rollback)操作。

六、实验步骤:

执行以下内容:

1.启动Navicat for MySQL,在 MySQL –新建连接中完成连接参数配置。

2.登录到本地数据库服务器后,连接到test数据库上。

以下操作请全部使用SQL语句完成

3.首先用Create Table语句建立test表,test表定义如下所示:

4.用INSERT语句对表test,插入如下6条记录:

5.再用Create Table语句建立test_temp表,test_temp表定义如下所示:

6.用INSERT语句对表test_temp,插入如下3条记录:

7.用INSERT INTO ... SELECT ... FROM语句,将test_temp表中的数据,插入到test表中。

8.用UPDATE语句将test表中年龄小于等于20的数据,将成绩更新为原来的成绩加5分。

9.用UPDATE语句将test表中居住在南福苑所有学生的年龄减少1岁。

10.用DELETE语句将test表中年龄大于等于21并且成绩大于等于500的学生数据删除掉。

11.用DELETE语句将test表中成绩小于550并且居住在重邮宿舍的学生数据删除掉。

以上SQL语句请保存,以备老师检查和写实验报告之用。

七、思考与练习

1、如何确保前面执行的DML操作物理存储到数据库中?

2、如何取消前面执行的DML操作?

八、实验报告要求

参见数据库实验报告模版

参考文献

[1]《数据库原理与设计》,王国胤等,电子工业出版社,2011

[2]《数据库系统及应用》,崔巍,高等教育出版社,2005

下次实验内容

了解SQL语言的SELECT语句对数据的查询,学会在Navicat for MySQL中用SELECT语句对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。

关系数据库标准语言SQL练习题

关系数据库标准语言 S Q L练习题 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

第3章关系数据库标准语言SQL 一.单项选择题 1.SQL语言是▁▁▁▁▁的语言,易学习。 A.过程化 B非过程化 C.格式化 D导航式 B 2.SQL语言是▁▁▁▁▁语言。 A.层次数据库 B.网络数据库 C.关系数据库 D非数据库 3.SQL语言具有▁▁▁▁▁的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 C.数据定义、关系规范化、数据操纵 4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是▁▁▁▁▁。A.SELECT B.INSERT C.UPDATE D.DELETE 5.在关系代数运算中,五种基本运算为▁▁▁▁▁。 A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 6 .SQL语言中,实现数据检索的语句是▁▁▁▁▁。 A.SELECT B.INSERT C.UPDATE D.DELETE 7.下列SQL语句中,修改表结构的是▁▁▁▁▁。 A.ALTER B.CREATE C.UPDATE D.INSERT 第8到第11题基于这样的三个表,即学生表S、课程表C和学生选课表SC,他们的结构如下: S(S#,SN,SEX,AGE,DEPT); C(C#,CN); SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程CN为课程名,GPADE为成绩。 8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是▁▁A▁▁。 A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“王华”) B.SELECT SN,AGE,SEX FROM S WHERE SN=“王华” C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=“王华”) D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE 9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是▁▁D▁▁。 A.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=(SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SC WHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”) C.SELECT S# FORM SC WHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHERE C#=“C2”) D.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=ALL(SELECT GRADE FORM SC WHERE C#=“C2”)

关系数据库标准语言SQL(一)

关系数据库标准语言SQL(一) (总分:19.00,做题时间:90分钟) 一、{{B}}选择题{{/B}}(总题数:7,分数:7.00) 1.在SQL语言中,删除视图的语句是 ______。 (分数:1.00) A.ALTER VIEW B.DROP VIEW √ C.ZAP VIEW D.DELETE VIEW 解析: 2.关系数据库的数据语言是 ______ 的语言,其核心部分为查询,因此又称为查询语言。 (分数:1.00) A.过程化 B.非过程化√ C.宿主 D.系列化 解析: 3.实现“收回用户U4对学生表STUD中学号(XH)的修改权”这一功能的正确SQL语句是 ______。 (分数:1.00) A.REVOKE UPDAE(XON TABLE FROM U4 B.REVOKE UPDAE(XON TABLE STUD FROM PUBLIC C.REVOKE UPDAE(XON TABLE STUD FROM U4 √ D.REVOKE ALL PRIVILEGES ON TABLE FROM U4 解析: 4.在嵌入式SQL中,主语言向SQL语句输入数据,主要用主变量来实现。为了区别字段名,要求主变量名前必须加符号 ______ 作标志。 (分数:1.00) A.;(分号) B.、(顿号) C.+(加号) D.:(冒号) √ 解析: 5.在SQL语言中,CREATE VIEW语句用于建立视图。如果要求对视图更新时,必须满足子查询中的条件表达式,应当在该语句中使用短语 ______。 (分数:1.00) A.WITH UPDATE B.WITH INSERT C.WITH DELETE D.WITH CHECK OPTION √ 解析: 6.为使程序员编程时既可使用数据语言又可使用常规的程序设计语言,数据库系统需要把数据库语言嵌入到 ______ 中, (分数:1.00) A.编译程序 B.操作系统 C.中间语言 D.宿主语言√

SQL基本语句和语句强化(全)

一、简单查询 1、列出全部学生的信息。 SELECT * FROM 学生 2、列出软件专业全部学生的学号及姓名。 SELECT 学号,姓名FROM 学生WHERE 专业="软件" 3、列出所有必修课的课号。 SELECT DISTINCT 课号FROM 必修课 4、求1号课成绩大于80分的学生的学号及成绩,并按成绩由高到低列出。 SELECT 学号,成绩FROM 选课WHERE 课号="1" AND 成绩>80 ORDER BY 成绩DESC 5、列出非软件专业学生的名单。 方法一:SELECT 姓名FROM 学生WHERE 专业<>"软件" 方法二:SELECT 姓名FROM 学生WHERE NOT 专业="软件" 方法三:SELECT 姓名FROM 学生WHERE 专业!="软件" 6、查询成绩在70~80分之间的学生选课得分情况 方法一:SELECT * FROM 选课WHERE 成绩>=70 AND 成绩<=80 方法二:SELECT * FROM 选课WHERE 成绩BETWEEN 70 AND 80 不在此范围内的查询:(注意写出和以下语句等价的语句) SELECT * FROM 选课WHERE 成绩NOT BETWEEN 70 AND 80 7、列出选修1号课或3号课的全体学生的学号和成绩。 方法一:SELECT 学号,成绩FROM 选课WHERE 课号="1" OR 课号="3" 方法二:SELECT 学号,成绩FROM 选课WHERE 课号IN ("1","3") 相反条件查询:SELECT 学号,成绩FROM 选课WHERE 课号NOT IN ("1","3") 8、列出所有98级学生的学生成绩情况。 SELECT * FROM 选课WHERE 学号LIKE "98%"

关系数据库标准语言SQL练习题

第3章关系数据库标准语言SQL 一.单项选择题 1.SQL语言是▁▁▁▁▁的语言,易学习。 A.过程化 B非过程化 C.格式化 D导航式 B 2.SQL语言是▁▁▁▁▁语言。 A.层次数据库 B.网络数据库 C.关系数据库 D非数据库 3.SQL语言具有▁▁▁▁▁的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 C.数据定义、关系规范化、数据操纵 4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是▁▁▁▁▁。A.SELECT B.INSERT C.UPDATE D.DELETE 5.在关系代数运算中,五种基本运算为▁▁▁▁▁。 A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 6 .SQL语言中,实现数据检索的语句是▁▁▁▁▁。 A.SELECT B.INSERT C.UPDATE D.DELETE 7.下列SQL语句中,修改表结构的是▁▁▁▁▁。 A.ALTER B.CREATE C.UPDATE D.INSERT 第8到第11题基于这样的三个表,即学生表S、课程表C和学生选课表SC,他们的结构如下: S(S#,SN,SEX,AGE,DEPT); C(C#,CN); SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程CN为课程名,GPADE为成绩。 8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是▁▁A▁▁。 A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“王华”) B.SELECT SN,AGE,SEX FROM S WHERE SN=“王华” C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=“王华”) D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE 9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是▁▁D▁▁。 A.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=(SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SC WHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”) C.SELECT S# FORM SC WHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHERE C#=“C2”) D.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=ALL(SELECT GRADE FORM SC WHERE C#=“C2”) 10.检索学生姓名及其所选修课程号和成绩。正确的SELECT语句是▁▁▁C▁▁。

关系数据库标准语言SQL汇总

关系数据库标准语言SQL 一、SQL概述与查询功能 1、SQL概述 SQL是Structured Query Language(结构化查询语言)的缩写。可以说查询是SQL语言的重要组成部分,但不是全部,SQL还包括数据定义、数据操纵和数据控制功能等部分。Visual FoxPro在SQL方面支持数据定义、数据查询和数据操纵功能,但在具体表现方面也存在一些差异,由于安全控制方面的缺陷,没有提供数据控制功能。 2、查询功能 Visual FoxPro的SQL SELECT命令格式如下:SELECT……FROM……[WHERE……][GROUP BY……][HAVING……][UNION[ALL]……][ORDER BY……] SELECT [ALL|DISTINCT][<别名>.]<选项>[AS<显示列名>][,[<别名>.]<选项>[AS<显示列名>]…]FROM [<数据库名>!]<表名>[[AS]<本地别名>][[INNER|LEFT|[OUTER]|RIGHT[OUTER]|FULL[OUTER]JI ON<数据库名>!]<表名>[AS]<本地别名>][ON<连接条件>…][[INTO<目标>|[TO FILE<文件名>][ADDITIVE]|TO PRINTER [PROMPT]|TO SCREEN]][PREFERENCE<参照名>][NOCONSOLE][PLAIN][NOWAIT][WHERE<连接条件

1>[AND <连接条件2>…]AND|OR <过滤条件1>[AND|OR <过滤条件2>…]]][GROUP BY <分组列名1>[,<分组列名2>…]][HAVING<过滤条件>][UNION[ALL]SELECT命令][ORDER BY <排序选项1>[ASC|DESC][,<排序选项2>[ASC|DESC]…]] SELECT说明要查询的数据。 FROM说明要查询的数据来自哪个(些)表。 WHERE说明查询条件,即选择元组的条件。 GROUP BY用于对查询结果进行分组,可以利用它进行分类汇总。HAVING必须跟随GROUP BY使用,客观存它用来限定分组必须满足的条件。 ORDER BY用来对查询的结果进行排序。 数据查询语句 SQL数据查询命令是SELECT命令。该命令的基本框架是SELECT…FROM…WHERE,它包含输出字段、数据来源、查询条件等基本子句。在这种固定格式中,可以不用WHERE,但是SELECT 和FROM是必备的。 基本查询 所谓基本查询是指无条件查询,其常用格式是: SELECT [ALL|DISTINCT][〈别名〉.]〈选项〉[AS 〈显示列名〉][,[〈别名〉.]〈选项〉[AS 〈显示列名〉…]]FROM 〈表

实验一 关系数据库标准语言SQL

实验一关系数据库标准语言SQL 班级:姓名:学号: 任课教师:实验教师:上机时间: 【实验目的】 1、MS SQL SERVER认识及其环境熟悉,了解T-SQL对标准SQL的扩充。 2、掌握T-SQL环境下数据定义包括数据库、基本表、视图、索引定义。 3、掌握T-SQL环境下数据操纵包括数据插入、删除、修改。 4、掌握T-SQL环境下数据查询及其各种变化。 5、理解T-SQL环境下数据控制。 【实验性质】 验证性实验 【实验学时】 4H 【实验内容】 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: S(SNO,SNAME,STATUS,CITY) P(PNO,PNAME,COLOR,WEIGHT) J(JNO,JNAME,CITY) SPJ(SNO,PNO,JNO,QTY) 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成; 零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成; 工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成; 供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。 今有若干数据如下:

请根据以上内容完成下面题目,写出相应的SQL语句。(空位不够请自行续页) 1、创建数据库,置为当前数据库 2、创建表 3、插入数据 4、请用SQL语句完成下面题目的查询。 (1)求供应工程J1零件的供应商号码SNO: (2)求供应工程J1零件P1的供应商号码SNO: (3)求供应工程J1零件为红色的供应商号码SNO: (4)求没有使用天津供应商生产的红色零件的工程号JNO: (5)求至少用了供应商S1所供应的全部零件的工程号JNO: 5、请用SQL语句完成下面题目的查询。 (1)找出所有供应商的姓名和所在城市。 (2)找出所有零件的名称、颜色、重量。 (3)找出使用供应商S1所供应零件的工程号码。 (4)找出工程项目J2使用的各种零件的名称及其数量。

数据库第4章 SQL语言基础及数据定义功能

第4章 SQL语言基础及数据定义功能 用户使用数据库时需要对数据库进行各种各样的操作,如查询数据,添加、删除和修改数据,定义、修改数据模式等。DBMS必须为用户提供相应的命令或语言,这就构成了用户和数据库的接口。接口的好坏会直接影响用户对数据库的接受程度。 数据库所提供的语言一般局限于对数据库的操作,它不是完备的程序设计语言,也不能独立地用来编写应用程序。 SQL(Structured Query Language,结构化查询语言)是用户操作关系数据库的通用语言。虽然叫结构化查询语言,而且查询操作确实是数据库中的主要操作,但并不是说SQL只支持查询操作,它实际上包含数据定义、数据查询、数据操作和数据控制等与数据库有关的全部功能。 SQL已经成为关系数据库的标准语言,所以现在所有的关系数据库管理系统都支持SQL。本章将主要介绍SQL语言支持的数据类型以及定义基本表和索引的功能。 4.1 SQL语言概述 SQL语言是操作关系数据库的标准语言,本节介绍SQL语言的发展过程、特点以及主要功能。 4.1.1 SQL语言的发展 最早的SQL原型是IBM的研究人员在20世纪70年代开发的,该原型被命名为SEQUEL (Structured English QUEry Language)。现在许多人仍将在这个原型之后推出的SQL语言发音为“sequel”,但根据ANSI SQL委员会的规定,其正式发音应该是“ess cue ell”。随着SQL语言的颁布,各数据库厂商纷纷在其产品中引入并支持SQL语言,尽管绝大多数产品对SQL语言的支持大部分是相似的,但它们之间还是存在一定的差异,这些差异不利于初学者的学习。因此,我们在本章介绍SQL时主要介绍标准的SQL语言,我们将其称为基本SQL。 从20世纪80年代以来,SQL就一直是关系数据库管理系统(RDBMS)的标准语言。最早的SQL标准是1986年10月由美国ANSI(American National Standards Institute)颁布的。随后,ISO(International Standards Organization)于1987年6月也正式采纳它为国际标准,并在此基础上进行了补充,到1989年4月,ISO提出了具有完整性特征的SQL,并称之为SQL-89。SQL-89标准的颁布,对数据库技术的发展和数据库的应用都起了很大的推动作用。尽管如此,SQL-89仍有许多不足或不能满足应用需求的地方。为此,在SQL-89的基础上,经过3年多的研究和修改,ISO和ANSI共同于1992年8月颁布了SQL的新标准,即SQL-92(或称为SQL2)。SQL-92标准也不是非常完备的,1999年又颁布了新的SQL标准,

SQL语言章节练习答案

SQL 语言章节练习答案 一、设有如下关系模式: student(SNO, SNAME , SEX ,BIRTHDAY, CLASS) teacher(TNO,TNAME,SEX,BIRTHDAY,PR OF,DEPART) PROF 为职称,DEPART 为系别 course(CNO, CNAME, TNO) score(SNO, CNO, DEGREE) DEGREE 为成绩 写出实现以下各题功能的SQL 语句: 1.查询至少有2名男生的班号;——(难) SELECT CLASS FROM student WHERE SEX='男' GROUP BY CLASS HAVING COUNT(*)>=2; Having 语句用来对结果集进行附加筛选,通常与group by 语句一起使用。 ************************************************************* 2.查询不姓“王”的同学记录;——(易) SELECT * FROM student WHERE NAME NOT LIKE '王%' 3.查询每个学生的姓名和年龄;——(难) SELECT NAME,2007-year(BIRTHDAY) FROM student 4.查询学生中最大和最小的birthday 日期值;——(中) SELECT MAX(BIRTHDAY), MIN(BIRTHDAY) FROM student 5.查询学生表的全部记录并按班号和年龄从大到小的顺序;——(中) SELECT * FROM student ORDER BY CLASS,BIRTHDAY DESC 6.查询男教师及其所上的课程;——(中) SELECT , FROM teacher , course WHERE = and ='男' 7.查询最高分同学的学号,课程号和成绩;——(中) SELECT * FROM score WHERE degree= ( SELECT max(degree) FROM score ) 满足嵌套子查询的条件(最后投影的属性列可以在一个表格中给出) **************************************88 8.查询和“李军”同性别并同班的所有同学的姓名;——(中) SELECT NAME FROM student WHERE sex= ( SELECT sex FROM student WHERE name='李军' ) and class= ( SELECT class FROM student WHERE name='李军' ) 要习惯用多重条件的复合运算来做题 9.查询选修“数据库系统概论”课程的男同学的成绩表;——(中) SELECT * FROM score WHERE no IN ( SELECT no FROM student WHERE sex='男') and cno= (

实验报告2-关系数据库标准语言SQL

实验报告2-关系数据库标准语言SQL

实验2:关系数据库标准语言SQL 一.实验目的 通过本实验使学生掌握SQL语言的数据定义功能、数据查询功能和数据操纵功能。 二.实验类型验证型 三.实验学时 4学时 四.实验原理及知识点 1.SQL语言的数据查询功能 2.SQL语言的数据定义功能 3.SQL语言的数据操纵功能 五.实验环境 1.硬件设备要求:PC及其联网环境; 2.软件设备要求:Windows操作系统;MS SQL Server数据库管理系统。 六.实验内容及步骤 在STUDENT数据库中,根据要求使用SQL语言完成下列操作,将SQL语句以.sql文件的形式保存在自己的目录下。 1.查询选修了课程的学生的学号。 2.查询学生学号和出生年份。 3.查询计算机系学生的学号、姓名。 4.查询年龄在20岁与22岁之间(包括20和22岁)的学生姓名和年龄。 5.查询学生姓名中含有“波”字的学生情况。 6.查询缺少学习成绩的学生学号和课程号。 7.查询选修C601课程的学生的学号和成绩,并按分数的降序排列。 8.求选修了课程的学生人数。 9.求课程C601的平均成绩。 10.求选修课程超过2门的学生学号。 11.查询参加学习的学生所学的课程号和总分。 12.查询选修高等数学课程且成绩在80分以上的学生的学号、姓名。 13.查询每一课程的间接先行课(即先行课的先行课)。 14.查询年龄低于所有工程系学生的学生姓

名、所在系、年龄。 15.找出刘建平老师所开全部课程的课程号、课程名。 16.找出全部课程的任课教师。 17.求学生1203所学课程的总分。 18.找出所有姓张的学生的姓名和籍贯。 19.找出至少一门课程的成绩在90分以上的女学生的姓名。 20.求每一年龄上人数超过2的男生的具体人数,并按年龄从小到大排序。 21.把学生的学号及他的平均成绩定义为一个视图GRADE_VIEW。 22.创建一个从student、course、study表中查出计算机系的学生及其成绩的视图computer_view,要求显示学生的学号sno、姓名name、课程号cno、课程名称cname、成绩grade。 23.在Student表中依据学生姓名创建索引name_index。 24.在Study表中依据sno和cno创建索引main_index。 25.将课程C603的任课老师改为“赵明”。 26.在Student表中插入两个学生记录:'1201','吴华', '女',20,'成都','计算机系' '1102','张军', '男',21,'上海','工程系' 27.删除年龄在21岁以上的学生记录。 --1 SELECT DISTINCT Sno'学号' FROM Student_course;

关系数据库标准语SQL习题五

关系数据库标准语SQL习题五一、单选题 1.Visual FoxPro中支持的SQL功能不包括()。A)数据定义 B)数据修改 C)数据查询 D)数据控制 2.SQL SELECT语句的功能是()。 A)定义 B)查询 C)修改 D)控制 3.SELECT语句中,用于排序的子句是()。 A)ORDER BY B)FROM C)GROUP BY D)INTO 4.SELECT语句中用于分组的短语是()。 A)ORDER BY B)MODIFY C)GROUP BY D)SUM

5.下面有关HAVING子句的描述错误的是()。 A)HAVING子句必须与GROUP BY子句同时使用,不能单独使用 B)使用HAVING子句的同时不能使用WHERE子句 C)使用HAVING子句的同时可以使用WHERE子句 D)使用HAVING子句的作用是限定分组的条件 6.SELECT语句中,只有满足连接条件的记录才能包含在查询结果中的选项是()。A)LEFT JOIN B)RIGHT JOIN C)INNER JOIN D)FULL JOIN 7.下列是字符串匹配运算符的是()。 A)LIKE B)AND C)IN D)= 8.SELECT语句中,表达式“工资BETWEEN 1220 AND 1250”的含义是()。 A)工资> 1220 AND 工资< 1250 B)工资> 1220 OR 工资< 1250 C)工资>= 1220 AND 工资<= 1250 D)工资>= 1220 OR 工资<= 1250 9.UPDATE语句的功能是()。 A)属于数据定义功能

B)可以修改表中列的内容 C)属于数据查询功能 C)可以修改表中列的属性 10.要为“职工”表的所有职工增加100元工资,正确的SQL命令是()。A)REPLACE 职工SET 工资= 工资+100 B)UPDATE 职工SET 工资= 工资+100 C)EDIT 职工SET 工资= 工资+100 D)CHANGE 职工SET 工资= 工资+100

第六章数据库标准语言SQL

第六章关系数据库标准语言SQL 大纲要求 关系数据库标准语言SQL 1、SQL的数据定义功能: (1)CREATE TABLE–SQL (2)ALTER TABLE–SQL 2、SQL的数据修改功能: (1)DELETE–SQL (2)INSERT–SQL (3)UPDATE–SQL 3、SQL的数据查询功能: (1)简单查询。 (2)嵌套查询。 (3)连接查询。 内连接 外连接:左连接、右连接、完全连接 (4)分组与计算查询。 (5)集合的并运算。 知识要点 一、SQL语言的特点 1.综合统一 SQL语言集数据定义(DDL)、数据操纵(DML)、数据管理(DCL)的功能于一体,语言风格统一,可以独立完成数据库的全部操作,包括定义关系模式、录入数据及建立数据库、查询、更新、维护数据、数据库的重新构造、数据库安全性等一系列操作的要求,为数

据库应用系统开发者提供了良好的环境。 2.高度非过程化 3.语言简洁,易学易用 4.以同一种语法结构提供两种使用方式 既可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。二、SQL语言的基本概念 SQL语言支持关系型数据库的三级模式结构。其中外模式对应于视图(View)和部分基本表(Base Table),模式对应于基本表,内模式对应于存储文件。 基本表是本身独立存在的表,在SQL语言中一个关系对应一个表。一些基本表对应一个存储文件,一个表可以带若干索引,索引存放在存储文件中。 存储文件的逻辑结构组成了关系型数据库的内模式。而存储文件的物理文件结构是任意的。 视图是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是说数据库只存放在视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。 三.数据定义 数据定义语言DDL用于执行数据定义的操作,如创建或删除表、索引和视图之类的对象。由CREATE、DROP、ALTER命令组成,完成数据库对象的建立(CREATE)、删除(DROP)和修改(ALTER)。 1.定义(创建)表【格式】: CREATE TABLE<表名>(<字段名1><数据类型>; [(<宽度>[,<小数位数>])][完整性约束]; [NULL|NOT NULL][,<字段名2>…]) 【功能】定义(也称创建)一个表。 【例1】创建一个表SC(课程成绩表),它由以下字段组成:学号(C,10);课程号(C,2)。

第四章 SQL语言

第四章 SQL 4.1.SQL语言简介 最早在IBM System-R RDBMS上使用的查询语言;由于其广泛的使用,出现标准化需求,形成SQL标准;有了标准,用户可评判厂家的SQL版本,基于非标准的SQL特性的应用不易移植。 第一个SQL标准由ANSI于1986年制订,称为SQL-86;1989年作了些许改进,称为SQL-89;1992年由ANSI和ISO合作,作了较大改动,称为SQL-92(SQL2),这是目前大多数商用RDBMS支持的版本;1999年提出SQL:1999(SQL3),是SQL-92的扩展。 SQL(Structured Query Language,结构化查询语言)是一种集数据定义和数据操纵子语言为一体的、标准化(20世纪80年代后期)的、关系型数据库语言。 数据定义子语言(Data Definition Language, DDL) 用来定义数据库模式。 数据操纵子语言(Data Manipulation Language, DML) 用来表示用户对数据库的操作请求。由于数据库语言其主要的功能是查询数据库中的信息,故经常称之为数据查询语言。 目前的标准化版本为SQL-92,被ANSI(American National Standards Institute)、ISO(International Standards Organization)采纳。 SQL语言的第一个版本是由IBM公司SAN JOSE实验室为SYSTEM R关系数据库管理系统设计的。 SQL语言既可以作为交互式(Interactive)数据库语言使用,也可以嵌入(Embedded)到程序设计语言中作为其子语言使用,这时前者称为宿主语言(Host Language),如:C/C++语言、PowerBuilder、Delphi等。 SQL标准有:SQL-86、SQL-89、SQL-92、SQL:1999。 关系模型中的关系,利用SQL-92来定义和操纵;SQL-92标准中用“表”(Table)代表“关系”(Relation);SQL中用于创建(Create)、删除(Drop)和修改(Alter)“表结构”的部分叫DDL,而对“表中数据”进行插入(Insert)、删除(Delete)、修改(Update)和查询(Select)的部分叫DML; 1. SQL DDL —- 针对表结构 (1) Create (2) Drop (3) Alter 2. SQL DML —- 针对表中数据 (1) Insert (2) Delete (3) Update (4) Select 下面我们主要研究数据操纵,本章所用到表如表5.1-5.7所示。 4.2 SQL的数据操纵

数据库 第3章 关系数据库标准语言SQL练习及答案题

第3章关系数据库标准语言SQL练习题 1.SQL语言是()的语言,容易学习。 A. 过程化 B.非过程化 C.格式化 D.导航式 2.在视图上不能完成的操作是()。 A.更新视图 B.查询 C.在视图上定义新的表 D.在视图上定义新的视图 3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。 A.数据查询 B.数据操纵 C.数据定义 D.数据控制 4. SQL语言中,删除一个视图的命令是()。 A.DELETE B.DROP C.CLEAR D.REMOVE 5.在SQL语言中的视图VIEW是数据库的()。 A.外模式 B.模式 C.内模式 D.存储模式 6.下列的SQL语句中,()不是数据定义语句。 A.CREATE TABLE B.DROP VIEW C.CREATE VIEW D.GRANT 7.若要撤销数据库中已经存在的表S,可用()。 A.DELETE TABLE S B.DELETE S C.DROP TABLE S D.DROP S 8.若要在基本表S中增加一列CN(课程名),可用()。 A. ADD TABLE S(CN CHAR(8)) B. ADD TABLE S ALTER(CN CHAR(8)) C. ALTER TABLE S ADD(CN CHAR(8)) D. ALTER TABLE S (ADD CN CHAR(8)) 9.学生关系模式 S( S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是()。 A.DELETE Age from S B.ALTER TABLE S DROP Age C.UPDATE S Age D.ALTER TABLE S ‘Age’ 10.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄, C#是课程号,CNAME 是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL 语句是 SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是

第四章 关系数据库标准语言SQL

第四章关系数据库标准语言SQL 4.1 SQL概述 SQL(Structure Query Language ,结构化查询语言)是关系型数据库的标准语言,目前已成为国际标准。 SQL命令可分为3组: (1)数据定义语言(DDL):包括数据库、表、索引和视图的创建、修改命令; (2)数据操作语言(DML):包括数据查询和数据操作命令; (3)数据控制语言(DCL):包括用户权限管理命令,在Access2010中不能使用。 4.1.1 SQL特点: 综合统一 高度非结构化 面向集合的操作方式 以同一语法结构提供多种使用方式 语言简单,易学易用 标准的SQL语言包括4部分内容: 数据定义——CREATE(建立), DROP(删除), ALTER(修改) 数据操纵——INSERT(插入), UPDATE(更新), DELETE(删除) 数据查询——用于检索数据SELECT(选择) 数据控制——GRANT(授权), REVOKE(回收权限) 4.1.2在Access中使用SQL 1.在SQL视图中使用 2.在VBA中嵌入使用 例如: Private sub Command1_Click() Dim SQL As String SQL = "SELECT 姓名,性别,专业编号 FROM 学生信息;" Set conDatabase = Application.CurrentProject.Connection conDatabase.Execute SQL 4.2 数据定义 4.2.1模式的创建于删除 1.定义模式 [例2]CREATE SCHEMA AUTHORIZATION WANG; <模式名>隐含为用户名WANG ?如果没有指定<模式名>,那么<模式名>隐含为<用户名> ?定义模式实际上定义了一个命名空间 ?在这个空间中可以定义该模式包含的数据库对象,例如基本表、视图、索引等。 ?在CREATE SCHEMA中可以接受CREATE TABLE,CREATE VIEW和GRANT子句。 CREATE SCHEMA <模式名> AUTHORIZATION <用户名>[<表定义子句>|<视图定义子句>|<授权定义子句>]

关系数据库标准语言SQL例题

关系数据库标准语言SQL 一、选择题 1.若用如下的SQL语句创建了一个表SC: CREATE TABLE SC(S# CHAR(6)NOT NULL, C# CHAR(3)NOT NULL, SCORE INTEGER,NOTE CHAR(20)) 今向SC表插入如下行时,()行可以被插入。 A.(‘201009’,‘111’,60,必修)B.(‘200823’,‘101’,NULL,NULL)C.(NULL,‘103’,80,‘选修’)D.(‘201132’,NULL,86,‘’) 2.在数据库的如下两个表中,若学生成绩表的主键是学生号和课程名,学生表的主键是学生号。在下列所给的操作中,()操作不能执行。 A.从学生成绩表中删除行(‘001’,‘001’,60) B.将行(‘0102’,‘002’,80)插入到学生成绩表中 C.将学生成绩表中学生号=‘0101’的成绩改为60 D.将学生成绩表中学生号=‘0103’的学号改为‘0104’ 3.有关系S(S#,SNAME,SEX),SC(S#,C#,GRADE),C(C#,CNAME)。其中S#为学生号,SNAME为学生姓名,SEX为性别,C#为课程号,CNAME为课程名。要查询选修“数据库”课的全体男学生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里WHERE 子句的内容是()。 A.S.S#=SC.S# AND C.C#=SC.C# AND SEX=’男’ AND CNAME=‘数据库’ B.S.S#=SC.S# AND C.C#=SC.C# AND SEX IN ‘男’AND CNAME IN ‘数据库’ C.SEX=’男’ AND CNAME=‘数据库’D.S.SEX =‘男’AND CNAME=‘数据库’4.有如下关系:课程表C,主键为C_ID(CHAR(4))。

SQL语言练习题和答案

第三章SQL语言 一、选择题 1. SQL语言是(B )的语言,容易学习。 A.过程化 B. 非过程化 C.格式化 D. 导航式 2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最频繁的语句是(A)。 A. SELECT B. INSERT C. UPDATE D. DELETE 3. 在视图上不能完成的操作是()。 A. 更新视图 B. 查询 C. 在视图上定义新的表 D. 在视图上定义新的视图 4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。 A. 数据查询 B. 数据操纵 C. 数据定义 D. 数据控制 5. SQL语言中,删除一个视图的命令是()。 6. 在SQL语言中的视图VIEW是数据库的()。 A. 外模式 B. 模式 C. 内模式 D. 存储模式 7. 下列的SQL语句中,()不是数据定义语句。 A. CREATE TABLE B. DROP VIEW C. CREATE VIEW D. GRANT 8. 若要撤销数据库中已经存在的表S,可用()。 A. DELETE TABLE S B. DELETE S C. DROP TABLE S D. DROP S 9. 若要在基本表S中增加一列CN(课程名),可用()。 TABLE S(CN CHAR(8)) TABLE S ALTER(CN CHAR(8)) TABLE S ADD(CN CHAR(8)) TABLE S (ADD CN CHAR(8)) 10. 学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是()。 A. DELETE Age from S B. ALTER TABLE S DROP Age C. UPDATE S Age D. ALTER TABLE S ‘Age’ 11. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄,C#是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是()。

4结构化查询语言SQL习题与答案

第四章结构化查询语言SQL 一、选择题 1. 在SQL包含的功能中,最重要的功能是_______。 A) 数据查询B) 数据操纵C) 数据定义D) 数据控制 2. 使用SQL语言有两种方式,它们是_______。 A) 菜单式和交互式B) 嵌入式和程序式 C) 交互式和嵌入式D) 命令式和解释式 3. SQL的全部功能可以用9个动词概括,其中动词INSERT是属于下列__ ____功能。 A) 数据查询B) 数据操纵C) 数据定义D) 数据控制 4. SQL语言支持数据库的三级模式结构,其中模式对应于______。 A) 存储文件B) 视图C) 基本表D) 视图和基本表 5. 在创建数据表时,可以给字段规定NULL或NOT NULL值,NULL值的含义是______。 A) 0 B) 空格C) NULL D) 不确定 6. 在SQL的ALTER语句中,用于删除字段的子句是______。 A) ALTER B) DELETE C) DROP D) MODIFY 7. SQL中的INSERT语句可以用于______。 A) 插入一条记录B) 插入一个字段 C) 插入一个索引D) 插入一个表 8. 下列描述错误的是______。 A)用INSERT-SQL语句可以插入一条记录 B)用INSERT-SQL语句可以插入多条记录 C)使用INSERT-SQL语句可以插入记录的部分数据 D)使用INSERT-SQL语句插入记录时列名的排列顺序必须与表定义时的顺序一致 9. INSERT-SQL语句中所使用的数据不能来自于______。 A) 数组B) 变量C) 查询D) 索引 10. SQL中的UPDATE语句可以用于______。 A) 更新数据表的结构B) 更新数据表的值 C) 更新索引D) 更新查询 11. 下列描述错误的是______。 A)SQL中的UPDATE语句可以修改一条记录 B)SQL中的UPDATE语句可以修改多条记录 C)SQL中的UPDATE语句可以用子查询提供要修改的值 D)SQL中的UPDATE语句可以修改子查询的结果 12. SQL中的DELETE语句可以用于______。 A) 删除数据表的结构B) 删除数据表 C) 删除数据表的记录D) 删除数据表的字段 13. 在SELECT语句中,为了在查询结果中消去重复记录,应使用________项。 A) PERCENT B) DISTINCT C) TOP N D) WITH TIES

第四章SQL语言

第四章数据库查询语言SQL 4.1 SQL语言概述 ●数据查询命令(SELECT) ●数据定义命令(CREATE等) ●数据操纵命令(INSERT等) ●数据管理命令(GRANT等) 可以独立完成数据库的全部操作,包括建立数据库、建表、查询、更新、维护数据、数据库的重新构造、数据库安全性等。 注意:第三章讲的命令只适用于VF。SQL 语言适合在任何语言(VB、VC等)中使用,应用更广泛,效率更高,是考试的重点(笔试和上机)。4.2查询功能 难点:写出查询条件(逻辑表达式)。 查询命令的基本格式:

SELECT [ ALL |DISTINCT] 字段名FROM 表名WHERE 条件 4.2.1 简单查询 例1:从学生表中检索所有学生的姓名。 SELECT姓名FROM 学生 例2:从学生表中检索所有学生姓名(不能重复) SELECT DISTINCT姓名FROM 学生 例3:从学生表中检索所有学生的姓名、年龄、出生日期。 SELECT姓名,年龄,出生日期FROM 学生 例4:从学生表中检索所有学生(包括所有字段) SELECT﹡FROM 学生

例5:从学生表中检索所有年龄小于21的学生。SELECT﹡FROM 学生WHERE年龄<21 例6:从学生表中检索出生在1982年和1983 年的所有学生。 SELECT﹡FROM 学生WHERE YEAR(出生日期)=1982 .OR. YEAR(出生日期)=1983 SET CENTURY ON显示4位年份 SET MARK TO "--" 设置日期分隔符为“--”SET DATE TO YMD按年月日显示日期 例7:从学生表中检索性别为男而且姓王的学生

相关文档
相关文档 最新文档