SQL的数据定义语句.ppt
《SQL的数据定义语句.ppt》由会员分享,可在线阅读,更多相关《SQL的数据定义语句.ppt(74页珍藏版)》请在三一办公上搜索。
1、第七章 SQL的数据定义与操纵,7.1 SQL的数据定义功能7.2 SQL的数据定义语句7.3 SQL Server2000的数据定义语句7.4 SQL的数据操纵功能7.5 SQL的数据操纵语句7.6 SQL中的视图语句7.7 SQL Server2000中的数据操纵及视图功能 本章小结 习题,7.1 SQL的数据定义功能,主要为应用系统定义数据库上的整体结构模式,包括三个层次:上层-模式层关系数据库管理系统可以定义多个模式每个模式对应一个应用系统模式由若干个表、视图及索引组成,7.1 SQL的数据定义功能,中层-表结构层基表创建表修改表删除表视图视图是建立在基表上的虚表创建视图删除视图索引创
2、建索引删除索引,7.1 SQL的数据定义功能,底层-列定义层表中属性的定义如列名的定义列数据类型的定义列的完整性约束定义如列是否是主键或外键列值是否允许为空列间的约束表达式,7.2 SQL的数据定义语句,1 SQL的基本数据类型,7.2 SQL的数据定义语句,2 SQL的模式定义语句模式定义定义语句:create schema authorization例如,学生数据库的模式可定义如下:create schema student authorization lin;,7.2 SQL的数据定义语句,模式删除语句为 Drop schema,删除方式有两种:Cascade,表示级联方式Restric
3、t,表示限制方式删除学生数据库模式:Drop schema student cascade;,7.2 SQL的数据定义语句,3 SQL的表定义语句表的定义语句 Create table()其它参数其中列定义形式如下:,7.2 SQL的数据定义语句,例:前面所创建的student数据库中有s,c,sc三张表,试定义它们。create table s(sno char(4),sname varchar(8),sage smallint,sex char(2),sdept char(2);,7.2 SQL的数据定义语句,create table c(cno char(2),cname varchar
4、(20),credit numeric);create table sc(sno char(4),cno char(2),grade smallint);,7.2 SQL的数据定义语句,表的更改增加列 Alter table add例,在s中增加一个新的列sex Alter table s add sex char(2);删除列 Alter table drop 例,在s中将sdept删除 Alter table s drop sdept;,7.2 SQL的数据定义语句,表的删除语句 drop table 例,删除s表 drop table s;删除表后,表中的数据、在此表上建立的视图、索引都
5、将删除,7.2 SQL的数据定义语句,4 SQL的索引定义语句建立索引语句create uniquecluster index on(顺序.)其它参数Unique:唯一性索引,不允许两个元组在给定索引中有相同的值。Cluster:聚簇索引,索引项的顺序与表中记录的物理顺序一致。顺序:ASC,DESC,2 SQL的数据定义语句,例:在表s的sno上建立一个按升序排列的唯一性索引xsno。create unique index xsno on s(sno)asc;删除索引语句 drop index 删除名为xsno的索引 drop index xsno;,7.3 SQL Server2000中的数
6、据定义语句,建立数据库Create database student1;删除数据库Drop database student1;,7.4 SQL的数据操纵功能,数据查询功能select增、删、改功能Insert,delete,update其它功能赋值分类运算,7.5 SQL的数据操纵语句,关系代数中的查询语句求选修了c1号课程的学生姓名 sname(cno=c1(S SC),7.5 SQL的数据操纵语句,1 SQL的查询语句 Select 列名 From 表名 Where 选择条件,投影,选择,连接,7.5 SQL的数据操纵语句,示例数据:S(sno,sname,sage,sex,sdept)
7、C(cno,cname,credit)SC(sno,cno,grade),7.5 SQL的数据操纵语句,SQL的基本查询语句单表简单查询例1:查询所有学生的情况 select*from s;*代表所有的列例2:查询所有学生的姓名 select sname from s;,7.5 SQL的数据操纵语句,例3:查询学号为s01的学生学号与姓名 Select sno,sname From s Where sno=s01;Where后面可以使用比较符,包括=、=、!=,7.5 SQL的数据操纵语句,例4:查询年龄大于20的学生的学号和姓名 Select sno,sname From s Where s
8、age20;,7.5 SQL的数据操纵语句,常用谓词between,like,null用于where子句中Distinct,as 用于select子句中例5:查询所有选修了课程的学生学号 Select distinct sno From sc;Select后的distinct表示在结果中去掉重复的sno。,7.5 SQL的数据操纵语句,例:查询每个学生的出生年份 select sno,2008-sage as birthyear from s;Select之后可以是简单运算as 用于select 之后表示为某一属性取别名,7.5 SQL的数据操纵语句,例6:查询年龄 在18-21岁的学生的姓名
9、和年龄 Select sname,sage From s;where sage between 18 and 21;,(不),(not),7.5 SQL的数据操纵语句,例7:查询姓“李”的学生的姓名及所在系 Select sname,sdept From s Where sname like 李%;Like一般情况下与通配符%,_一起使用%表示任意长度的字符串,例a%b_表示任意单个字符,例a_b,7.5 SQL的数据操纵语句,例8:查询名字的倒数第二字为“丽”的学生的姓名及所在系 Select sname,sdept From s Where sname like%丽_;,7.5 SQL的数
10、据操纵语句,例9:查询无课程分数的学生的学号和课程号 select sno,cno from sc where grade is null;Null是测试属性值是否为空的谓词,其一般形式是:is not null,7.5 SQL的数据操纵语句,布尔表达式not,and,or 例10:查询计算机系年龄小于20的学生姓名 Select sname From s Where sdept=cs and sage20;例11:查询非计算机系或年龄不为20的学生姓名 Select sname From s Where not sdept=cs or not sage=20;,7.5 SQL的数据操纵语句,
11、单连接表间等值连接在where子句中设置两表相同属性间的相等关系例12:查询修读课程号为c1的所有学生的姓名 select sname from s,sc where s.sno=sc.sno and o=c1;,7.5 SQL的数据操纵语句,例13:查询修读课程名为”数据库”的所有学生姓名 select sname from s,sc,c where s.sno=sc.sno and o=o and cname=数据库;,7.5 SQL的数据操纵语句,自连接例14:查询至少选修了s5所修读的一门课的学生学号 select first.sno from sc first,sc second w
12、here o=o and second.sno=s5;,7.5 SQL的数据操纵语句,练习:求每一门课程的间接先行课 select o,second.preno from c as first,c as second where first.preno=o;,7.5 SQL的数据操纵语句,结果排序order by ASC/DESC例15:查询计算机系所有学生名单并按学号顺序升序显示。select sno,sname from s where sdept=cs order by sno asc;,7.5 SQL的数据操纵语句,例16:查询全体学生情况,结果按学生年龄降序排列 select*fro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 数据 定义 语句
链接地址:https://www.31ppt.com/p-6520983.html