数据库(三)关系数据库标准语言SQL(1)
2016-11-29 14:07
651 查看
SQL的概述
1.综合统一
综合了定义语言DDL、操作语言DML、控制语言DCL.2.高度非过程化
只需提出做什么,无需指明怎么做。3.面向集合的操作方式
4.以同一种语法结构提供多种使用方式
SQL既是独立语言,又是嵌入式语言。5.语言简洁,方便使用
数据定义
学生表create table Student (Sno char(9) primary key, 主码 Sname char(20) unique, 取值唯一
Ssex char(2),Sdept chat(20) Sage smallint, );
课程表
create table Course (Cno char(4) primary key, Cname char(40) not null, 非空值 Cpne char(4), Ccredit smallint, foreign key(Cpno) referances Course(Cno) 外码 );学生选课表
create table SC (Sno char(9), Cno char(4), Grade smallint, primary key (Sno,Cno), 主码由两个属性构成 foreign key (Sno) referance Student(Sno), 外码及参照 foreign key (Cno) referance Course(Cno), )
修改表
alter table Student add ruxueshijan date; 加入入学时间列,类型为date
alter table Student alter column Sage int; 将原来年龄列的类型由char*改为int alter table Coures add unique(Cname); 将课程名增加取值唯一的约束
删除表
drop table Student cascade; 无限制删除,删除所有索引、触发器、引用该表的视图和表。 drop table Student restrict; 有限制删除索引
create index [唯一unique][聚簇cluster]<索引名> on <表名>(属性名,[升序asc(默认)][降序desc]) cerate unique index SCno on SC(Sno asc,Cno desc)
数据查询
单表查询
select中选项
查询经过计算的值并重命名(用空格隔开)
select Sname, 2014-Sage birthday from Student;
改大小写
lower(属性名)去重
[所有行all(默认)][去重distinct],作用于所有目标列where中选项
1.比大小
=,>,<,>=,<=,!=,<>,!>!<2.确定范围
between ...and.... 包括端点值3.确定集合
select Sname from Student where Sdep not in ('CS','MA'); 查询院系不为cs和ma的学生姓名
4.字符匹配
where Sname like '刘%'; 姓刘 where Sname like '刘_ _'; 姓刘且全名三字
5.确定空值
where Grade is (not) null;6.多重条件
and 优先级高于or ,可用小括号()改变优先级集函数
计数count 求和sum 平均值avg 最大max 最小min对列的集操作,可加入上述去重
只能用于select 和分组后的having语句
分组
group by分组 having限定select Sno from SC where Score>90 group by Sno having count(*)> 3; 选出选了三门以上课且有一门课高于90分的学生学号选出选了三门以上课且所有课都及格的学生的学号
select Sno from SC group by Sno having(min>=60 and count(*)>=3 )
选出选了三门以上课且三门以上及格的学生的学号
select Sno from SC where Grade>=60 group by Sno having( count(*)>=3 );
相关文章推荐
- 文章标题关系数据库标准语言SQL-2
- 数据库系统原理复习题(三)——关系数据库标准语言SQL
- 对关系数据库标准语言SQL的简单认识
- 3-1关系数据库标准语言SQL
- 数据库系统概论复习总结3 --- 第二章关系数据库标准语言SQL
- 第3章 关系数据库标准语言SQL(数据库系统概论)
- 第3部分 关系数据库标准语言 SQL(2)
- 关系数据库标准语言SQL基础2
- 第三章 关系数据库标准语言SQL
- [网络问题,截图以后再传]本实验是设计性实验。目的在于使用关系数据库标准语言SQL,掌握视图和索引的操作。
- 【数据库系统概论】-关系数据库标准语言SQL(3)
- 数据库笔记3————关系数据库标准语言SQL上(SQL的数据定义和数据更新)
- 关系数据库标准语言SQL的基本问答
- 数据库 - 关系数据库标准语言SQL
- 关系数据库标准语言SQL(二)
- 【数据库系统概论】-关系数据库标准语言SQL(1)
- 【数据库系统概论】-关系数据库标准语言SQL(2)
- 数据库原理(四)--关系数据库标准语言SQL(一)
- 第3部分 关系数据库标准语言 SQL
- 关系数据库标准语言SQL基础1续