关系数据库SQL
sql基本功能
SQLde 基本概念
-
主要知识点
1.外模式包含若干视图和部分基本表
2.模式包含若干基本表
3.内模式包含若干存储文件
4操作对象基本表:本身独立存在的表,一个关系就对应一个基本表
视图:数据库中只存放视图的定义,不存放视图对应的数据
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
索引:
CREATE INDEX indexName ON mytable(username(length));
5.定义模式
`create schema<模式名> authorization<用户名>`
6.删除模式:
drop schema<模式名> <cascade|restric>
cascade:级联,表示在删除模式的同时把该模式中所有的数据库对象全部删除;
restrict:限制,表示该模式中已经定义了下属的数据库对象(如表,视图),则拒绝该删除语句的执行7.基本表的定义,删除与修改
1.创建了一个模式就建立了一个数据库的命名空间每一个框架,在这个框架中首先要定义的是该模式包含的数据库基本表
建表:Create table Student( Sno char(9) primary key, Sname char(20) unique, Ssex char(2)), Foreign key(sno) reference SC(Sno), --注意表级约束条件与行级约束条件
2.修改基本表
Alter table <表名> [add [column]<新列名><数据类型> [drop [column]<列名><cascade|restric>
3.删除基本表
`Drop table <表名>[cascade|restric]`
欲删除的基本表不能被其他表的约束所引用
8.数据查询
select select_list [into new_table_name] from table_source [where search_conditions] [group by group_by_expression] [having search_conditions] [order by order_expression [ASC|DESC]]
9.字符匹配
%:代表任意长度 a%b
(下划线)代表单个字符 a_b 如果本身就存在 要用_代替
如果like后面的匹配符中不含通配符,则可以用=10.Order by:对查找结果按照一个或多个属性列的升序或降序排列
11.聚集函数
count(*):统计元组的个数
count(<列名>):统计一列中值得个数
sum,avg,max,min 当聚集函数遇到空值时,都跳过非空值,而只处理空值
where字句不能用聚集函数作为条件表达式12.group by :将查询结果按某一列或多列的值分组,值相等的为一组
13.where 与having 的不同在于作用对象的不同
14.连接查询包括
等值连接查询: 非等值连接查询: 嵌套循环连接算法的基本思想 where S.sno = SC.sno 自然连接查询:在等值连接中把目标列中重复的属性列去掉则为自然连接 自身连接查询:查询每一门课的间接先修课 外连接查询 :把悬浮元组保存在结果关系中 复合条件查询:
15.嵌套查询:
子查询的Select 语句不能使用order by 语句,order by 只能对结果排序
16.不相关子查询:In
相关子查询(依赖于父层查询的某个属性值):Exists:带有exists谓词的子查询不返回任何结果,只产生逻辑真值17.集合操作:
并操作:union 交操作:intersect 差操作:except
18.基于派生表的查询:即将子查询放在from字句中 必须为派生表指定别名
数据更新
1.插入数据
2.修改数据:Update Student set sage = 22, where sno = '1213223'
3删除数据
delect from 表名 where <条件>
4/22/2018 8:40:36 PM