欢迎来到天天文库
浏览记录
ID:36317621
大小:272.50 KB
页数:81页
时间:2019-05-09
《transact-sql语言概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章Transact-SQL语言学习目标了解T-SQL语言的起源、组成熟练使用SELECT、INSERT、UPDATE、DELETE语句Transact-SQL语言概述问题我们需要对数据进行哪些维护操作?如何对数据进行查询、统计?结构化查询语言(StructuredQueryLanguage)是一种用于存取和查询数据,更新并管理关系数据库系统的数据库查询和编程语言。这种语言的语法结构类似于英语,易学易用,书写随意。ANSISQL92Transact-SQL1、数据定义语言DDL用来定义和管理数据库中的
2、对象。DDL主要的语句有:CREATETABLE/*创建表*/ALTERTABLE/*修改表的属性*/DROPTABLE/*删除表*/Transact-SQL语言的组成2、数据操作语言DML用来操作数据库中的对象和数据,是T-SQL中最常用的部分。DML主要的语句有:SELECT/*从一个表或多个表中检索数据*/DELETE/*从表中删除数据*/INSERT/*向一个表中添加数据*/UPDATE/*修改表中已有的数据*/3、数据控制语言DCL用来控制用户对数据库对象操作的权限。主要的命令有:GRANT/
3、*授予权限*/REVOKE/*回收所授予的权限*/第1节操作数据-单表查询切换数据库USEXkGOSELECT子句SELECT子句主要用于检索数据,其基本格式为:SELECT选择列表(指示应该返回的数据)FROM表的列表(提供数据的表或视图的名称)WHEAR检索的条件【例】从Student表中检索学号为00000001的学生的姓名(StuName),要求显示学生的学号和姓名。UsexkGoSelectStuNo,StuNamefromStudentwhereStuNo=‘00000001’GO【练习】要
4、求检索系部编号为01的班级信息,要求显示班级编号和班级名称。1、使用*和列名在选择表中使用星号(*),则从FORM子句中指定的表或视图中检索并返回所有列。【例】从课程表中检索所有的信息。UsexkGoSelect*fromCourseGo【练习】从学生表中检索学生所在班的班级编码。2、使用DISTINCT消除重复值在Select之后使用Distinct关键字,会消除指定列的值都相同的那些行。【例】从课程表中检索课程分类,要求清除值相同的那些行。//消除Kind列值都相同的那些重复行SelectDisti
5、nctKindfromCourse//消除Kind和Credit列值都相同的那些重复行SelectDistinctKind,CreditfromCourse3、使用TOPn[PERCENT]仅返回前n行使用TOP,可以从结果集中仅返回前n行。如果指定了PERCENT,则仅返回前n%行,此时n必须介于0~100之间。【例】从学生表中检索所有的信息,要求只显示前6行数据。Selecttop6*fromStudent//返回6行Selecttop6percent*fromStudent//返回180×6%=1
6、14、修改检索结果中列的标题修改检索列标题有三种方式:(1)将要显示的列标题用单引号括起来后接等号(=),后接要检索的列名;(2)将要显示的列标题用单引号括起来后,写在列名后面,两者之间使用空格隔开;(3)将要显示的列标题用单引号括起来后,写在列名后面,两者之间使用AS关键字。【问题】检索课程表中课程编码、课程名称、教师、上课时间、限制选课人数和报名人数,并修改列标题。SELECT'课程编码'=CouNo,'课程名称'=CouName,'教师'=Teacher,'上课时间'=SchoolTime,'限制
7、选课人数'=LimitNum,'报名人数'=WIllNumFROMCourse【练习】使用其他两种方法5、在查询结果中显示字符串将要增加的字符串用单引号括起来,然后和列的名字写在一起,中间用逗号隔开。【问题】检索课程表的信息,要求给出检索结果为:课程名称课程编码SQLServer实用技术课程编码为:001……………………SELECT'课程名称'=CouName,'课程编码为:','课程编码'=CouNoFROMCourse6、使用WHERE限制检索的条件使用WHERE子句限制检索的范围,通常情况下,必须
8、定义一个或多个条件限制检索选择的数据行。【例】检索上“Linux操作系统”课程的教师名 。SELECT'教师'=TeacherFROMCourseWHERECouName='Linux操作系统'7、表达式作为SELECT语句中的列SELECT子句中的选项列表可以是要指定的表达式或列的列表,表达式可以是列名、函数或常数的列表。【例】要求检索课程表的课程信息,并显示报名人数和限制选课人数之比。SELECT*,WillNum/LimitNumFR
此文档下载收益归作者所有