DBA 重构 data new york committee cobol codasyl journal
DDL DML 关系演算 域关系演算语言(QBE) 元祖关系演算语言(ALPHA)
查询语言其实本质是逻辑语言 聚集函数(内置函数) 象集
除运算(一定有相同的列)的结果是被除关系的某一行值(有时候是不能随便除)
SQL语句是大小写模糊的,并且分号模糊 模式包含数据库
为用户定义一个模式 约束条件在数据字典里
Create schema”S-T” authorization niu;
Drop schema”S-T” <cascade|restrict>
级联(全部删除) 限制(模式为空时删除)
Create table Student
(Sname char(9) primary key,
SAge smallint,
);
Numeric定点数 decimal
Foreign key Cpno references course(Cno) 外码主键
主码超过一个属性为主键时,必须用表级完整性约束定义
Create table”s-t”.student( );
修改表:
Alter tbale student
Add brithday date
Drop <完整性约束名>
Alter column sage int
Drop table student cascade;
建立索引: create (unique cluster聚族索引)index index1
On student( Sage 1
Sname 2
);
删除索引:drop index index1;
聚族索引:就是索引项的顺序与表中记录一致
索引建立在多列或是一列 ASC升 DEFC降
默认为ASC
Create unique index Scno on SC(Sno ASC,Cno DESC);
查询:
Select all|distinct *****
From student ** **
Where ***
Group by 列 hacing **
Order by 列 ASC|DESC;
Select *
Lower小写
可以加入字符串 select Sname ‘yourname:’ Sname
Select distinct Sno 就是取消重复的
<> 不等于 like where Sage<20
Where Butween**and ** not between**and**
Where Sage ( not) in(‘11’,’33’)
Not like ‘ ***’ escape ‘***’
%(通配符)——任意长度 _ 代表任意单个长度
Where Cname like’%牛’
Escape ‘’ 转换字符
Where Cname like ‘ db\_Design ‘ escape’’
空值查询 where grade is (not)null
多重查询用and
Group by grade,Sage DESC
聚集函数: count(distinct|all*)
Count(distinct|all Sage)
Sum(distinct|all Sage)
Avg(distinct|all Sage)
Max(distinct|all Sage)
Min(distinct|all Sage) 注意:都是无重复
Select Cno,count(Sno)
From SC
Group by Cno;按Cno分组
Having count(*)>3; 是分组聚集运算之后再选择
连接查询(多表查询)
Select first.Cno,second.CPno 自身连接
左外连接:
From student left( outer join) SC on(student.Sno=SC.Sno) 就不需要where
子查询里一般用in = 或是>=等
Select Sno,Cno
From SC x
Where Grade >=(select avg(Grade)
From SC y
Where y.Sno=x.Sno);
子查询里的 Any all
Where Sage <all (not)(exists)(返回真假)
(select Sage
Prom student
Where Sdept=’CS’)
And Sdept<>’CS’;
结果之间的union intersect交 except差
数据插入:
Insert
Into student ( 列 列 列 )
Value( 1 2 2)(或者这个可以是子查询的结果)
修改:
Updata student
Set Sage=22
Where ****
删除:
Delete
From student
Where ***
定义视图:
Create view student (列 列 列 )
AS 子查询
(With check option)
删除视图:
Drop view student cascade;
视图其他的和表一样,视图是表的镜像,可以灵活改变
2017 4.11 中国 兰州