数据库技术第3章+结构化询语言SQL.ppt

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库技术第3章结构化询语言SQL

SQL最早的版本是IBM开发的。是20世纪70年代早期作为 Systems R项目的一部分实现的。现在有许多产品支持SQL 语言,它已经很明确地确立了自己作为标准关系数据库语言 的地位。 1986年,美国国家标准化组织(ANSI)和国家标准化组 织(ISO)发布了SQL标准:SQL-86; 1989年,发布了SQL-89; 1992年,发布了SQL-92; 1999年,发布了SQL-99; 2003年,发布了SQL-2003; 2006年,发布了SQL-2006; SQL语言有以下几部分: 数据定义语言; 数据操作语言; 完整性; 视图定义: 嵌入式SQL和动态SQL: 授权 一、数据定义命令 1.模式的定义 Create Schema [模式名] Authorization 用户名; 例1:定义一个学生-课程模式 2.删除模式 Drop Schema 模式 Cascade|Restrict; 例2:删除学生-课程模式 3.表结构的建立、删除与修改 (1)表结构的建立 Create Table 表名( 列名 数据类型 [列级完整性约束], 列名 数据类型 [列级完整性约束], … 列名 数据类型 [列级完整性约束], [,表级完整性约束条件]); Create Table SC (Sno Char(9) , Cno Char(4), Grade Smallint, Primary Key (Sno, Cno), Foreign Key Sno References Student(Sno) Foreign Key Cno References Course(Cno)); (2)表结构的删除 Drop Table 表名 [Restrict | Cascade]; 例6:删除Student表 (3)表结构的修改 Alter Table表名 [Add 新列名数据类型[完整性约束]] [Drop 完整性约束] [Alter Column 列名数据类型]; 例7:向Student表增加“入学时间”列,其数据类型 为日期型。 例8:将年龄的数据类型由字符型改为整数 例9:增加课程名称必须取唯一值的约束条件 4.索引的建立与删除 (1)建立索引 Create [Unique/Cluster] Index 索引名 On 表名 (列名1 [Asc/Desc] [,列名2 [Asc/Desc]…); 例10:为Student、Course和SC 3个表建立索引。 Student按学号升序建唯一索引,Course表按课程号升序建唯一索引,SC按学号升序和课程号降序 建唯一索引。 (2)索引删除 Drop Index 索引名; 例11:删除Student表的Stusname索引 (1)单表查询 查询仅涉及一个表: 选择表中的若干列 选择表中的若干元组 ORDER BY子句 聚集函数 GROUP BY子句 查询指定列 [例1] 查询全体学生的学号与姓名。 [例2] 查询全体学生的姓名、学号、所在系。 选出所有属性列: 在SELECT关键字后面列出所有列名 将目标列表达式指定为 * [例3] 查询全体学生的详细记录。 查询经过计算的值 SELECT子句的目标列表达式可以为: 算术表达式 字符串常量 函数 列别名 [例4] 查全体学生的姓名及其出生年份。 [例5] 查询全体学生的姓名、出生年份和所有 系,要求用小写字母表示所有系名 选择表中的若干元组 消除取值重复的行 如果没有指定DISTINCT关键词,则缺省为ALL 指定DISTINCT关键词,去掉表中重复的行 [例6] 查询选修了课程的学生学号。 查询满足条件的元组 比较大小 [例7] 查询计算机科学系全体学生的姓名 [例8] 查询所有年龄在20岁以下的学生姓名及其年龄 [例9] 查询考试成绩有不及格的学生的学号。 确定范围 谓词: BETWEEN … AND … NOT BETWEEN … AND … [例10] 查询年龄在20~23岁(包括20岁和23岁)之 间的学生的姓名、系别和年龄 [例11] 查询年龄不在

文档评论(0)

fangsheke66 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档