表中数据的操作.pptx





《表中数据的操作.pptx》由会员分享,可在线阅读,更多相关《表中数据的操作.pptx(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本章学习目标 在企业管理器中操作表中的数据使用SELECT语句查询数据使用INSERT语句插入数据使用UPDATE语句更新数据使用DELETE语句删除数据第1页/共67页本课核心知识点SELECT语句INSERT语句UPDATE语句DELETE语句第2页/共67页本课重点难点SELECT语句的基本结构及其各子句的用法多表查询(连接查询、嵌套查询)使用INSERT、UPDATE、DELETE语句插入、修改和删除表中数据嵌套查询 第3页/共67页第5章 表中数据的操作 第4页/共67页5.1 在企业管理器中操作表中的数据 表中数据的操作包括数据的查询、插入、更新和删除。第5页/共67页在企业管理器
2、中,打开指定的服务器和数据库选项,右击所要操作的表,选择“打开表”选项,选择“查询”选项,出现查询数据对话框。在对话框中设置各种查询条件,还可以直接输入Transact-SQL中的查询语句,单击工具栏中的执行按钮将执行指定的查询,并显示查询结果。第6页/共67页打开指定的服务器和数据库选项,右击所要操作的表,从弹出的快捷菜单中选择“打开表”选项,选择“返回所有行”或“返回首行”选项,出现显示数据对话框。第7页/共67页将光标定位到最后一条记录后面,输入数据就可以完成插入操作;将光标定位到某条记录,改变某个数据的值就可以完成更新操作;右击某条记录,从弹出的快捷菜单中选择“删除”选项可以完成记录的
3、删除操作。如果对表定义了约束,则在执行插入、更新、删除操作时不能违反约束,否则系统会提示。第8页/共67页5.2 使用SELECT语句查询数据【问题5-1】要求按所发帖子的总点击数由高到低,列出所发帖子的总点击数超过1000的论坛用户的编号、昵称和帖子总点击数。如何使用SQL语句完成这个查询任务?SELECT语句的功能就是从数据库中检索出符合用户需求的数据。第9页/共67页语法格式:SELECT字段列表INTO新表名FROM要查询的表WHERE查询条件GROUPBY作为分组依据的表达式HAVING 对分组结果进行的筛选条件ORDERBY排序依据的字段ASC|DESCSELECT语句至少要包含S
4、ELECT和FROM两个子句,其它用括起的短语都是可选的。第10页/共67页 使用SELECT子句 SELECT子句语法形式如下:(1)SELECT参数字段列表(每个字段用,隔开)其中,参数若是distinct,表示对于某个字段值有重复的记录,则查询结果中只保留一条;参数若是TOPN,则代表只保留满足条件的前N条记录;字段列表中的字段若都是同一张表的,则直接写字段名即可,若涉及到多个表,则形式为:表名.字段名;(2)SELECT*代表查询表中的所有字段(3)SELECT聚集函数(字段名)第11页/共67页在expression中可以使用行聚合函数(又称统计函数),SQL Server中常用的聚
5、合函数如表。第12页/共67页【例5-1】假设Section表中的数据如表所示。第13页/共67页(1)查询表中的所有记录。SELECT *FROM Section(2)查询所有版块的名称(SName),点击率(SClickCount)和帖子数量(STopicCount)。SELECT Sname,SClickCount,STopicCount FROM Section查询结果如下:SName SClickCount STopicCount-【逍遥体苑】50 1【相约同行】100 1【游记攻略】120 0(所影响的行数为 3 行)第14页/共67页(3)查询所有版块的SName(别名为版块名称
6、),SMasterID(别名为版主编号)和SClickCount(别名为点击率)。SELECT 版块名称=Sname,SMasterID AS 版主编号,SClickCount 点击率FROM Section说明:在上例中使用了更改列标题(定义别名)的3种方法:列别名=列名列名 AS 列别名列名 列别名注意:列别名的使用范围:列别名只在定义的语句中有效。第15页/共67页(4)查询前2条记录。SELECT TOP 2 *FROM Section(5)查询所有版块的帖子数量(STopicCount),去掉重复值。SELECT DISTINCT STopicCount FROM Section(6
7、)统计所有版块的帖子总数。SELECT SUM(STopicCount)FROM Section第16页/共67页 使用INTO子句 INTO子句用于创建新表并将查询结果插入新表中。语法格式:INTO 新表 其中的参数“新表”用于指定所要生成的新表的名称。新创建表的列由select_list指定。第17页/共67页【例5-2】创建一个只有版块编号、版块名称和点击率的新表New_Section_,其列定义和表中数据与Section表相同。SELECT SID,Sname,SClickCount INTO New_Section FROM Section运行结果如下:(所影响的行数为 3 行)执行
8、select*from New_Section,返回结果为:SID Sname SClickCount-1 【逍遥体苑】502 【相约同行】1003 【游记攻略】120(所影响的行数为 3 行)。第18页/共67页 使用FROM子句 FROM子句用于指定要查询的表。语法形式如下:FROM ,.n.:指定查询所用的表、视图、派生表或联接表。第19页/共67页【例5-3】假设Users表中的数据如下图所示。(1)查询所有版块的版块编号、版块名称、版主的编号、姓名以及电子邮箱。USE bbsDBGOSELECT SID,SName,UID,UName,UEmail FROM Section,User
9、sWHERE Users.UID=Section.SmasterIDGO第20页/共67页(2)使用内联接INNER JOIN 完成(1)的功能。SELECT SID,SName,UID,UName,UEmail FROM Section INNER JOIN UsersON UID=SmasterID第21页/共67页 使用WHERE子句 WHERE子句是条件子句,用于限定查询的内容。语法格式:WHERE 查询的条件表达式查询的条件表达式:=NOT|()AND|OR NOT|(),.n 参数说明:search_condition:查询的条件表达式第22页/共67页1.比较表达式使用比较表达式
10、的一般形式为:表达式 比较运算符 表达式表达式:可以是列名、常量、函数、变量、标量子查询,或者是由运算符或子查询连接的列名、常量和函数的任意组合。还可以包含 CASE 函数。比较运算符:=(等于)(大于)=(对于等于)(小于)=(小于等于)(不等于)!(不大于)!=10第24页/共67页2逻辑表达式在Transact-SQL中可以使用的逻辑运算符有3个:NOT(逻辑反)、AND(逻辑与)、OR(逻辑或)逻辑运算符的优先顺序是 NOT、AND、OR。在比较表达式和逻辑表达式中有3种可能的取值:TRUE、FALSE或UNKNOWN。【例5-5】查询表Section中点击率不低于100,并且帖子数量
11、不为0的版块。SELECT*FROM Section WHERE SClickCount=100 AND STopicCount0第25页/共67页3BETWEEN关键字使用BETWEEN关键字可以限定查寻范围,其语法形式如下:test_expression NOT BETWEEN begin_expression AND end_expression 参数说明:test_expression:被测试的表达式。begin_expression:指定取值范围的上限。end_expression:指定取值范围的下限。【例5-6】查询表Section中点击率在50和100之间的版块。SELECT*F
12、ROM Section WHERE SClickCount BETWEEN 50 AND 100第26页/共67页4IN关键字使用IN关键字可以测试给定的值是否与子查询或列表中的值相匹配。语法格式:test_expression NOT IN (subquery|expression ,.n )参数说明:test_expression:任何有效的SQL Server表达式。subquery:包含某列结果集的子查询。expression,.n:一个表达式列表,用来测试是否匹配。【例5-7】从Users表中查询生日不在3月、5月和7月的论坛用户信息。SELECT*FROM Users WHERE
13、MONTH(UBirthday)NOT IN(3,5,7)第27页/共67页5LIKE关键字LIKE关键字用于将所给字符串与指定的的模式匹配。语法格式:match_expression NOT LIKE pattern参数说明:match_expression:任何字符串数据类型的有效 SQL Server 表达式。Pattern:指定match_expression 中的搜索模式,可以包含下列有效 SQL Server 通配符:%:可匹配任意类型和长度的字符串。_(下划线):可匹配任何单个字符。第28页/共67页【例5-8】在Pubs数据库的 authors 表中查找所有区号为 415 的电
14、话号码。USE pubsSELECT phoneFROM authorsWHERE phone LIKE 415%ORDER by au_lnameGO第29页/共67页【例5-9】在Pubs数据库的 authors 表中查找名字为 Cheryl 或 Sheryl 的作者。USE pubsSELECT au_lname,au_fname,phoneFROM authorsWHERE au_fname LIKE CSherylORDER BY au_lname ASC,au_fname ASCGO查询结果如图5所示。第30页/共67页【例5-10】在Pubs数据库的 authors 表中查找姓为
15、 Carson、Carsen、Karson 或 Karsen 的作者。USE pubsSELECT au_lname,au_fname,phoneFROM authorsWHERE au_lname LIKE CKarseonORDER BY au_lname ASC,au_fname ASCGO查询结果如图所示。第31页/共67页6NULL关键字 在WHERE子句中不能使用比较运算符对空值进行判断,只能使用IS NULL来确定一个给定的表达式是否为 NULL。其语法形式如下:表达式 IS NOT NULL第32页/共67页【例5-11】在Pubs数据库的 authors 表中查找所有预付款少
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 操作

限制150内