1、本文所以内容来自 著名高校课件和学生笔记(校园里面经常见到有人高价买笔记)
2、任课教师不会提供参考文献,所以只能对作者表示感谢,如果引用了您的作品,可以用回复方式补充参考文献。
3、我不对文章无关问题进行解答,文章内容也比较难,我也很难解答您遇到的问题,如果发现BUG可以用回复方式帮我修正。
4、本课 数据库原理与应用
,适用于数据库原理与应用
本课其他部分的导航条见页面底部
优秀课件笔记之数据库复习资料
一、Transact-SQL的数据定义功能
1.建表:
createtable <表名> (
<列名> <数据类型>[列级完整性约束条件]
[,<列名> <数据类型>[列级完整性约束条件]][,…n]
[,<表级完整性约束条件>][,…n])
2.建视图
createview<视图名>[(<列名组>)]
[withencryption]
as<子查询>
[withcheckoption]
l其中withencryption选项表示对视图定义进行加密,使用户不能通过系统存储过程sp_helptext察看视图定义。
lWithcheckoption选项说明在对视图执行数据更新操作时,必须符合select子句中设置的条件。
3.建存储过程
createprocedure<存储过程名>
[@<参数名> <参数类型> [output]…]
as<SQL语句组>
存储过程的调用语句:
exec<存储过程名>[[@<参数名>=]参数]
二、Transact-SQL的数据操纵功能
select <查询列>
[into<新表名>]
[from<数据源>]
[where<元组条件表达式>]
[groupby<分组条件>][having<组选择条件>]
[orderby<排序条件>]
lselect子句,功能是确定结果列。语法为:
select[all|distinct][top<数值>[percent]]<查询列组>
其中查询列可以表示为三种:
1)<表或视图>.*
2)<列名或表达式>[as]<列别名>
3)<列别名>=<列名或表达式>
注意列别名是用来代替在结果集中的列名或表达式,别名可以在orderby子句中出现,但不能在where、groupby或having子句中出现。
linto子句用于创建一个表,并将查询结果添加到该表中。如果创建的是临时表,则在表名前加“#”字符。
lfrom子句用于指定查询的数据源表,一般为必选字句。可以是<表名>as<表别名>,<视图名>as<视图别名>,嵌套的select语句,连接表。例如
selectsage
from
(selectsdept,sage
fromstudent)asa
l其中连接表的格式为:
<数据源> <连接类型> <数据源> on<连接条件>
其中<连接类型>格式为:
[inner|{{left|right|full}[outer]}]join
inner为内连接,它返回所有连接匹配的行。内连接是连接类型的缺省值。
Left[outer]为左外连接,其结果集中不但包括了内连接返回的行,还包括了左边表中不满足连接条件的行。那些不满足连接条件的行所对应的右边表的列将会显示null值。
Right[outer]为右外连接。右外连接的结果集中不但包括了内连接返回的行,还包括了右边表中不满足连接条件的行。那些不满足连接条件的行所对应的左边表的列将会显示null值。
Full[outer]为完全外连接。完全外连接的结果集中不但包括了内连接返回的行,同时也包括左边表和右边表中的所有不满足条件的行,但是与其对应的右边表或左边表的列将会显示null值。
交叉连接为不设连接条件,即对两个表进行笛卡尔积运算。其结果是返回两个表的交叉匹配结果。
lWhere子句:
用于指定查询条件。
lGroupby子句:
用于对结果集分组。分组会影响到统计函数的结果。如果有groupby子句,则按组进行数据统计,否则,对全部数据统计。
lHaving子句:
用于指定分组或汇总筛选条件。
lOrderby子句:
用于指定排序项和排序要求,其语法为:
orderby<排序项> [asc|desc][,…n]
like操作符使用的通配符:%_[][^]
如’[A,B,C]%’表示开头第一个字符为A~C字符的字符串;’[^A-C]%’表示开头第一个字符不是A~C字符的字符串。
三、数据更新操作
(1)数据插入语句:
insert[into]<表或视图名>[(<列组>)]
values<值列>|<select语句>
(2)修改数据
update<表或视图名>
set<列名>={<表达式>}[,…n]
[where<条件>]
(3)删除数据
delete[from]<表名>
[where<条件>]
条件可以基于其它表中的数据:
delete[from]<表名>
from<表名><连接类型> join<表名>on<连接条件>
[where<条件>]
本文详细介绍了Transact-SQL的数据定义、操纵及更新操作,包括建表、建视图、建存储过程等,同时涵盖了查询、插入、修改和删除数据的语法与使用场景。
1545

被折叠的 条评论
为什么被折叠?



