您的位置:首页 > 数据库

优秀课件笔记之数据库复习资料

2008-03-01 10:58 281 查看
1、本文所以内容来自 著名高校课件和学生笔记(校园里面经常见到有人高价买笔记)
2、任课教师不会提供参考文献,所以只能对作者表示感谢,如果引用了您的作品,可以用回复方式补充参考文献。
3、我不对文章无关问题进行解答,文章内容也比较难,我也很难解答您遇到的问题,如果发现BUG可以用回复方式帮我修正。
4、本课 数据库原理与应用
,适用于数据库原理与应用

本课其他部分的导航条见页面底部

优秀课件笔记之数据库复习资料

一、Transact-SQL的数据定义功能

1. 建表:

create table  <表名> (

<列名> <数据类型> [列级完整性约束条件 ]

[ , <列名> <数据类型> [列级完整性约束条件 ]][,… n]

[,<表级完整性约束条件>] [,… n] )

2. 建视图

create view <视图名>[(<列名组>)]

[with encryption]

as <子查询>

[with check option]

l 其中with encryption选项表示对视图定义进行加密,使用户不能通过系统存储过程sp_helptext察看视图定义。

l With check option 选项说明在对视图执行数据更新操作时,必须符合select 子句中设置的条件。

3. 建存储过程

create procedure <存储过程名>

[@ <参数名> <参数类型> [output]…]

as <SQL语句组>

存储过程的调用语句:

exec <存储过程名> [ [@<参数名> = ] 参数 ]

二、Transact-SQL的数据操纵功能

select  <查询列>

[ into <新表名>]

[ from <数据源>]

[ where <元组条件表达式>]

[group by <分组条件>] [having <组选择条件>]

[order by <排序条件>]

l select子句,功能是确定结果列。语法为:

select [ all | distinct ] [top <数值> [percent] ] <查询列组>

其中查询列可以表示为三种:

1) <表或视图>. *

2) <列名或表达式>  [as] <列别名>

3) <列别名>=<列名或表达式>

注意列别名是用来代替在结果集中的列名或表达式,别名可以在order by 子句中出现,但不能在where、group by或having子句中出现。

l into子句用于创建一个表,并将查询结果添加到该表中。如果创建的是临时表,则在表名前加“#”字符。

l from 子句用于指定查询的数据源表,一般为必选字句。可以是<表名> as <表别名>,<视图名> as <视图别名>,嵌套的select语句,连接表。例如

select sage

from 

(select sdept ,sage

from student ) as a

l 其中连接表的格式为:

<数据源> <连接类型> <数据源> on <连接条件>

其中<连接类型>格式为:

[inner | { {left | right | full} [outer] } ] join 

inner为内连接,它返回所有连接匹配的行。内连接是连接类型的缺省值。

Left[outer]为左外连接,其结果集中不但包括了内连接返回的行,还包括了左边表中不满足连接条件的行。那些不满足连接条件的行所对应的右边表的列将会显示null值。

Right[outer]为右外连接。右外连接的结果集中不但包括了内连接返回的行,还包括了右边表中不满足连接条件的行。那些不满足连接条件的行所对应的左边表的列将会显示null值。

Full[outer]为完全外连接。完全外连接的结果集中不但包括了内连接返回的行,同时也包括左边表和右边表中的所有不满足条件的行,但是与其对应的右边表或左边表的列将会显示null值。

交叉连接为不设连接条件,即对两个表进行笛卡尔积运算。其结果是返回两个表的交叉匹配结果。

l Where子句:

用于指定查询条件。

l Group by 子句:

用于对结果集分组。分组会影响到统计函数的结果。如果有group by子句,则按组进行数据统计,否则,对全部数据统计。

l Having 子句:

用于指定分组或汇总筛选条件。

l Order by子句:

用于指定排序项和排序要求,其语法为:

order by <排序项> [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 <条件>]

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息