数据的基本操作1.ppt_第1页
数据的基本操作1.ppt_第2页
数据的基本操作1.ppt_第3页
数据的基本操作1.ppt_第4页
数据的基本操作1.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL Server 2005 实用教程 电子工业出版社 出版 第5章 数据的基本操作 3 第5章 数据的基本操作 v5.1数据的增删改 v5.2 简单查询 v5.3 案例应用举例 4 5.1数据的增删改 5.1.1数据的添加 5.1.2数据的修改 5.1.3数据的删除 5 5.1.1数据的添加 语法格式如下: INSERT INTO table_name ( column_list ) VALUES ( expression ,.n ) 6 5.1.1数据的添加 语法注释: INTO:一个可选的关键字,可以将它用在 INSERT 和目标表之间 。 table_name:将要接收数据的表或 table 变量的名称。 (column_list):要在其中插入数据的一列或多列的列表。必须用圆括号 将column_list括起来,并且用逗号进行分隔。 VALUES:引入要插入的数据值的列表。对于column_list(如果已 指定)中或者表中的每个列,都必须有一个数据值。必须用圆括号将值列表 括起来。如果 VALUES 列表中的值与表中列的顺序不相同,或者未包含表 中所有列的值,那么必须使用column_list明确地指定存储每个传入值的列。 7 5.1.1数据的添加 1.最简单的INSERT 语句 例5.1:在系部表中添加一行记录,查询代码如下: USE STUDENT GO INSERT 系部 (系部代码,系部名称,系主任) VALUES (01,计算机系,刘海军) GO 8 5.1.1数据的添加 2.省略清单的INSERT语句 例5.2:在系部表中添加一行记录,查询代码如下: USE STUDENT GO INSERT 系部 VALUES (02,经济管理系,崔喜元) GO 9 5.1.1数据的添加 3.省略VALUES清单的INSERT语句 在T-SQL中,有一种简单的插入多行的方法。这种方法是使用 SELECT语句查询出的结果代替VALUES子句。这种方法的语法结构如下 : INSERT INTO table_name (column_name1,column_name2,column_namen) SELECT column_name ,n FROM table_name WHERE search_conditions 10 5.1.1数据的添加 例5.3: 创建“系部”表的一个副本“系部1”表,将“系部”表的全部数据 添加到“系部1”表中。代码如下: USE Student GO CREATE TABLE 系部1 (系部代码char(2) CONSTRAINT pk_xbdm1 PRIMARY KEY, 系部名称varchar(30) NOT NULL, 系主任char(8) ) GO 11 5.1.1数据的添加 INSERT INTO 系部1 (系部代码,系部名称,系主任) SELECT 系部代码,系部名称,系主任 FROM 系部 GO 4.向学生选课系统各表中添加数据 12 5.1.2数据的修改 语法格式如下: UPDATE table_name SET column_name = expression | DEFAULT | NULL ,.n FROM ,.n WHERE := table_name AS table_alias WITH ( ,.n ) 13 5.1.2数据的修改 语法注释: table_name:需要更新的表的名称。 SET:指定要更新的列或变量名称的列表。 column_name:含有要更改数据的列的名称。 expression | DEFAULT | NULL :列值表达式。 :修改数据来源表。 14 5.1.2数据的修改 例5.4 :将教学计划表中专业代码为0101的“启始周”的值修 改为2,代码如下: USE STUDENT GO UPDATE 教学计划 SET 启始周=2 WHERE 专业代码=0101 GO 15 5.1.3数据的删除 1.使用DELETE 语句删除数据 DELETE 语句的语法格式如下: DELETE table_name FROM ,.n WHERE := table_name AS table_alias ,.n ) 16 5.1.3数据的删除 语法注释: l table_name:是要从其中删除行的表的名称。 l FROM :指定附加的 FROM 子句。 l table_name AS table_alias :是为删除操作提供标准的表名。 l WHERE:指定用于限制删除行数的条件。如果没有提供 WHERE 子句,则 DELETE 删除表中的所有行。 l :指定删除行的限定条件。对搜索条件中可以包 含的谓词数量没有限制。 17 5.1.3数据的删除 例5.5 :删除教师表中没有姓名的记录。代码如下: USE STUDENT GO DELETE 教师 WHERE 姓名 IS NULL GO 18 5.1.3数据的删除 2.使用TRUNCATE TABLE清空表格 语法: TRUNCATE TABLE table_name 语法注释: TRUNCATE TABLE:为关键字 table_name:为要删除所用记录的表名。 例5.6: 用TRUNCATE TABLE 语句清空课程注册表。代码如下: USE STUDENT GO TRUNCATE TABLE 课程注册 GO 19 5.2 简单查询 5.2.1 SELECT 语句的基本语法格式 5.2.2选择表中的若干列 5.2.3选择表中的若干记录 5.2.4对查询的结果排序 5.2.5对数据进行统计 5.2.6用查询结果生成新表 5.2.7合并结果集 20 5.2.1 SELECT 语句的基本语法格式 SELECT语句的语法形式如下: SELECT select_list INTO new_table_name FROM table_list WHERE search_conditions GROUP BY group_by_list HAVING search_conditions ORDER BY order_list ASC | DESC 21 5.2.1 SELECT 语句的基本语法格式 常用语句的用法: SELECT子句用于指定所选择的要查询的特定表中的列,它可以是星 号(*)、表达式、列表、变量等。 INTO子句用于指定所要生成的新表的名称。 FROM子句用于指定要查询的表或者视图,最多可以指定16个表或者 视图,用逗号相互隔开。 WHERE子句用来限定查询的范围和条件。 GROUP BY子句是分组查询子句。 HAVING子句用于指定分组子句的条件。 22 5.2.2选择表中的若干列 1.输出表中的所有列 例5.7 :查询“学生表”中全体学生的记录。代码如下: USE STUDENT GO SELECT * FROM 学生 GO 23 5.2.2选择表中的若干列 2.输出表中部分列 例5.8:查询“课程”表中的课程号和课程名称。代码如下: USE student GO SELECT 课程号,课程名称 FROM 课程 GO 24 5.2.2选择表中的若干列 3.为结果集内的列指定别名 例5.9:查询学生表中全体学生的姓名及年龄。代码如下: USE STUDENT GO SELECT 姓名,YEAR(GETDATE()-YEAR(出生日期) AS 年龄 FROM 学生 GO 25 5.2.3选择表中的若干记录 1.消除取值重复的行 例5.10 :查询选修了课程的学生号。程序清单如下: USE STUDENT GO SELECT DISTINCT 学号 FROM 课程注册 GO 26 5.2.3选择表中的若干记录 2.限制返回行数 例5.11 :查询课程注册表中的前三条记录的信息。代码如下: USE STUDENT GO SELECT TOP 3 * FROM 课程注册 GO 27 5.2.3选择表中的若干记录 3.查询满足条件的元组 常用的查询条件 : 查询条件运算符意义 比较 =,=-,!,!=3 GO 39 5.2.5对数据进行统计 3.使用COMPUTE子句 例5.23:查询所有学生所有成绩的总和。代码如下: USE student GO SELECT * FROM 课程注册 ORDER BY 学号 COMPUTE SUM(成绩) GO 40 5.2.6用查询结果生成新表 例5.24:创建“班级”表的一个副本。代码如下: USE student GO SELECT * INTO 班级副本 FROM 班级 GO SELECT * FROM 班级副本 GO 41 5.2.7合并结果集 例5. 25:查询“课程注册”表中0101专业的学生信息及课程成绩大于78分的 学生信息。代码如下: USE student GO SELECT * FROM 课程注册 WHERE 专业代码=0101 UNION SELECT * FROM 课程注册 WHERE 成绩78 GO 42 5.2.7合并结果集 例5. 25:查询“课程注册”表中0101专业的学生信息及课程成绩大于78分的 学生信息。代码如下: USE student GO SELECT * FROM 课程注册 WHERE 专业代码=0101 UNION SELECT * FROM 课程注册 WHERE 成绩78 GO 43 5.2.7合并结果集 例5. 26:查询“课程注册”表中选修了“0001”号课程或者选修了“0002”号课 程的学生,也就是选修了课程“0001”的学生集合与选修了课程 “0002”的学生集合的并集。代码如下: USE student GO SELECT 学号,选择了号课程 AS 备注 FROM 课程注册 WHERE 课程号=0001 UNION SELECT 学号,选择了号课程 AS 备注 FROM 课程注册 WHERE 课程号=0002 44 5.3 案例应用举例 1模糊查询 使用student数据库,从“学生”表中查询姓“张”或“刘”或“罗”的同学的信 息,查询结果按姓名排序。 USE student GO SELECT * FROM 学生 WHERE 姓名LIKE 刘,张,罗% ORDER BY 姓名 GO 45 5.3 案例应用举例 2集合查询 使用student数据库,从“课程注册”表中查询选修了“0001”或“0002”或 “0003”号课程的同学的学号和成绩,查询结果按课程号的升序和成绩 的降序排列。 USE student GO SELECT 课程号,学号,成绩 FROM 课程注册 WHERE 课程号IN(0001,0002, 0003) ORDER BY 课程号ASC,成绩DESC GO 46 5.3 案例应用举例 3使用集合函数 使用student数据库,从“课程注册”表中查询选修了“0001”号课程的学 生人数、最高成绩、最低成绩和平均成绩。 USE student GO SELECT C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论