Transact-SQL语言

Transact-SQL语言

ID:36872401

大小:428.50 KB

页数:38页

时间:2019-05-10

Transact-SQL语言_第1页
Transact-SQL语言_第2页
Transact-SQL语言_第3页
Transact-SQL语言_第4页
Transact-SQL语言_第5页
资源描述:

《Transact-SQL语言》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章Transact-SQL语言Transact-SQL语言概述第1节单表查询问题:我们需要对数据进行哪些维护操作?如何对数据进行查询、统计?结构化查询语言(StructuredQueryLanguage)。这种语言的语法结构类似于英语,易学易用,书写随意。[例如前面第一章讲过的例子]Transact-SQL语言的组成1、数据定义语言DDL:用来定义和管理数据库中的对象。DDL主要的语句有:CREATTABLE/*创建表*/ALTERTABLE/*修改表的属性*/DROPTABLE/*删除表*/2、数据操作语言DML:用来操作数据库中的对象和数据

2、,是T-SQL中最常用的部分。DML主要的语句有:SELECT/*从一个表或多个表中检索数据*/DELETE/*从表中删除数据*/INSERT/*向一个表中添加数据*/UPDATE/*修改表中已有的数据*/3、数据控制语言DCL:用来控制用户对数据库对象操作的权限。主要的命令有:GRANT/*授予权限*/REMOVE/*回收所授予的权限*/操作数据打开一个数据库从当前数据库切换到要使用的数据库时必须使用USE语句,并使用GO语句作为结束行。使用SELECT子句SELECT子句主要用于检索数据,其基本格式为:SELECT选择列表FROM表的列表WHE

3、AR检索的条件【问题】从Student表中检索学号为00000001的学生的姓名(StuName),要求显示学生的学号和姓名【练习】要求检索系部编号为01的班级信息,要求显示班级编号和班级名称1、*的使用【例】显示学生表中所有信息【例】从学生表中检索学生所在班的班级编码2、使用DISTINCT【例】从学生表中检索学生所在班的班级编码,要求清除值相同的那些行3、使用TOPn[PERCENT]【例】从学生表中检索所有的信息,要求只显示前6行数据4、修改检索结果中列的标题【问题】检索学生表中的学号、班级编码和姓名信息,并修改列标题方法有三:(1)将要显示

4、的列标题用单引号括起来后接等号(=),后接要检索的列名(2)将要显示的列标题用单引号括起来后,写在列名后面,两者之间使用空格隔开(3)将要显示的列标题用单引号括起来后,写在列名后面,两者之间使用AS关键字【练习】使用其他两种方法5、在查询结果中显示字符串【问题】检索课程表的信息,要求给出检索结果为:课程名称课程编码SQLServer实用技术课程编码为:001……课程编码为:…………课程编码为:……思考:如何检索课程编码是001的课程名称?6、使用WHERE限制检索的条件【例】检索课程编码为001的课程名称,要求只显示课程名称【练习】检索上“Linu

5、x操作系统”课程的主讲教师7、表达式作为SELECT语句中的列【例】要求检索课程表的课程信息,并显示报名人数和限制选课人数之比思考:如何将上面的检索结果按报名人数和限制选课人数之比的升序排列?8、使用ORDERBY子句重新排列检索结果【升序例子】【降序例子】也可以在ORDERBY子句中指定多个列【例】检索课程表的教师名、课程号、课程名,要求检索结果首先按教师名降序排列,教师名相同时,则按课程号的升序排列9、使用IN(NOTIN)关键字【例】检索课程编码为‘001’‘004’‘013’的课程名称方法一:使用逻辑运算符OR方法二:使用IN关键字(比使用

6、逻辑运算符更为简单)问题检索开设了“信息技术”类课程的教师名及其所开的课程名,要求先按教师名升序排列,教师名相同时,按课程名的降序排列,并将显示的列名改为中文。操作数据(续)1、使用LIKE(NOTLIKE)关键字通配符:%匹配包括0个或多个字符的字符串_匹配任何一个字符[]匹配任何在范围内的单个字符,例如:[m-p][^]匹配任何不在范围内的单个字符,例如:[^m-p]、[^mnop]通配符和字符串要括在单引号中【练习】解释下面的通配符表示的意义%D%_[^a][[]——如果要查找通配符本身,需要将它们用方括号括起来【问题】检索以“制作”两字结尾

7、的课程名(使用LIKE)【练习】检索姓名的第二个字为“丽”的学生信息,要求显示学生学号和姓名【问题】检索不姓“刘”的学生信息(使用NOTLIKE)2、使用ISNULL关键字——用于检索列中没有赋值的行【问题】检索课程表中教师未定的课程名称和教师名3.使用BETWEEN…AND(NOTBETWEEN…AND)关键字——用于检索在某一特定范围内的信息【问题】检索报名人数大于等于30并且小于等于40的课程信息,要求显示课程名称和报名人数(使用BETWEEN…AND)[注意]WHEREWillNumBETWEEN30AND40包括30和40这两个值【问题】

8、对上例使用NOTBETWEEN…AND也可以在WHERE字句中使用前面讲过的逻辑运算符检索某一范围内的信息【练习】检索报名

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。