数据库原理-SQL语句_第1页
数据库原理-SQL语句_第2页
数据库原理-SQL语句_第3页
数据库原理-SQL语句_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库原理 -SQL语句一、 数据库定义1. 建立数据库(P.75)CREATE DATABASE 数据库名 ON属性 FILEGROUP 文件组名 (文件组)属性 LOG ON (日志文件)属性“属性”字段定义:PRIMARY(NAME=逻辑名称,FILENAME=文件路径及文件名,SIZE=文件大小值 /默认单位MB,下同,MAXSIZE=最大尺寸|UNLIMITED /文件可以增长到的最大尺寸,FILEGROWTH=文件增长增量值2. 创建基本表(P.90)CREATE TABLE 表名 (列名 数据类型 列级完整性约束 表级完整性约束 其他参数列级完整性约束:1) NOT NULL|N

2、ULL约束: 指定列是否允许为空;2) PRIMARY KEY约束: 主关键字约束;3) UNIQUE约束: 唯一性约束;4) FOREIGN KEY约束: 外部关键字约束或参照完整性约束;5) DEFAULT定义: 为列指定默认值;6) CHECK约束: 约束列的取值,条件约束,可以和AND与OR组合使用;表级完整性约束:1) PRIMARY KEY约束: 说明由多个列构成的复合关键字;2) FOREIGN KEY约束: 当外部关键字是复合关键字;3) CHECK约束: 当不同列需要同时约束或有某种函数关系;3. 修改表结构(P.94)ALTER TABLE 表名ADD 列名 数据类型 列级

3、完整性约束| /增加新属性DROP 完整性约束名| /删除完整性约束DROP COLUMN 列名| /删除属性ALTER COLUMN 列名 数据类型 列级完整性约束 /修改属性的定义,但不允许修改属性名4. 删除表(P.95)DROP TABLE 表名二、 索引定义1. 建立索引(P.95)CREATE UNIQUE CLUSTERED INDEX 索引名 ON 表名 (列名 ASC|DESC)UNIQUE 唯一索引: 不允许存在索引值相同的两个元组;CLUSTERED 聚集索引: 索引值与关系中元组的顺序物理上相同;N/A 普通索引2. 删除索引(P.97)DROP INDEX 索引名三、

4、 数据查询1. 数据查询语句(P.97)SELECT ALL|DISTINCT 表达式 FROM 表名 WHERE 逻辑表达式GROUP BY 列名 HAVING 谓词 /对查询结果分组汇总,HAVING限定分组条件;ORDER BY 列名 ASC|DESC /对查询结果排序WHERE子句中常用的运算符查询方式运算符比较=,>,>=,<,<=,!=,<>,!>,!<确定范围BETWEEN AND、NOT BETWEEN AND确定集合IN、NOT IN字符匹配LIKE、NOT LIKE空值IS NULL、IS NOT NULL否定NOT多重条件A

5、ND、OR2. 一般连接查询(P.103)SELECT 属性或表达式列表FROM 关系1 JOIN 关系2 JOIN 关系3ON 连接条件2 ON 连接关系1 WHERE 查询条件 /ON的顺序和JOIN的顺序是逆着的3. 别名和自连接查询(P.104)SQL允许在FROM短语中为关系名定义别名,格式为: 关系名 别名4. 外连接查询(P.105)1) 广义笛卡尔积SELECT 属性或表达式列表 FROM 表名 CROSS JOIN 表名 WHERE 限定条件2) 内连接SELECT 属性或表达式列表 FROM 表名 INNER JOIN 表名 ON 连接条件 WHERE 限定条件内连接就是传

6、统的连接操作,同”一般连接查询”3) 外连接SELECT 属性或表达式列表FROM 表名LEFT|RIGHT|FULL OUTER JOIN 表名 ON 连接条件 WHERE 限定条件LEFT 左连接(*=): 包含第一个表中满足条件的所有记录,表二连接查询表一;RIGHT 右连接(=*): 包含第二个表中满足条件的所有记录,表一连接查询表二;FULL 全连接: 包含两个表中满足条件的所有记录,两表相互连接查询5. 嵌套查询(P.108)6. 分组及计算查询(P.115)COUNT计数SUM求和AVG计算平均值MAX求最大值MIN求最小值四、 视图1. 派生新视图(P.119)CREATE V

7、IEW 视图名 AS <SELECT-查询块><SELECT-查询块>可以是任意的SELECT查询,它说明和限制了视图中的数据2. 删除视图(P.122)DROP VIEW 视图名五、 数据操作1. 插入一个元组(P.122)INSERT INTO 表名 列名组 VALUES (表达式) /”表达式”需与”列名”一一对应如果插入时只指定了部分属性的值,其他值取空值,则必须指定列名.2. 插入一个查询结果到表(P.123)INSERT INTO 表名 列名组 <SELECT-查询块> /两表需要有相同的结构3. 更新元组(P.123)UPDATE 表名 SET

8、 列名 = 表达式 FROM 表名 WHERE 逻辑表达式FROM用于利用另一个表中的数据来更新4. 删除元组DELETE FROM 表名 FROM 表名 WHERE 逻辑表达式 /DELETE命令不删除表或表结构六、 存储过程1. 创建存储过程CREATE PROCedure 存储过程名 ;序号 /”序号”对同名存储过程指定一个序号参数名 参数类型 = 默认值 AS <存储过程所要执行的SQL语句>存储过程可以嵌套,但不可以使用创建数据库对象的语句,即CREATE TABLE / CREATE INDEX / CREATE VIEW / CREATE DEFAULTCREATE

9、RULE / CREATE TRIGGER / CREATE PROCEDURE2. 执行存储过程EXECute 返回状态码 = 存储过程名 参数 = 值|变量如果存储过程执行成功,返回的结果码是0;如果执行失败,返回的结果码一般是一个负数.3. 修改存储过程ALTER PROCedure 存储过程名 ;序号参数名 参数类型 = 默认值 AS <存储过程所要执行的SQL语句>4. 删除存储过程DROP PROCedure 存储过程名七、 触发器1. 建立触发器CREATE TRIGGER 触发器名 ON 表名 /”表名”为定义了触发器的表或视图的名称FOR INSERT|UPDAT

10、E|DELETE AS IF UPDATE(列) AND|OR UPDATE(列) <SQL语句>INSERT/UPDATE/DELETE 分别为 删除类/更新类/插入类 触发器.触发器可以建立在基本表上,也可以建立在视图上.2. 插入视图和删除视图*在定义了触发器的表上发生修改操作时,就会自动派生出两个视图或临时表,一个是插入视图inserted,一个是删除视图deleted.插入视图和删除视图只在触发器内可用.八、 数据完整性1. 规则1) 创建规则CREATE RULE 规则名 AS 规则条件2) 绑定规则到数据列sp_bindrule 规则名,绑定表或列名 ,futureonly3) 解除规则sp_unbindrule 表名或列名4) 删

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论