第四章总结

1.SQL语言功能:数据定义,数据查询,数据操纵,数据控制

2.创建数据库 语法形式:create datebase 数据库名

3.创建表 语法形式:create table 表名

4.追加元组 语法形式:

insert into 表名(列名)

values(值)

注:若列名省略,values后面的值与存储中保持一致

若列名未省略,values后面的值与列名保持一致

5.对数据进行检索,select 语法形式:

select 列名

from 表名

where 条件(如需整张表信息,不要where,用*)

6.元组删除 delete from 表名 where 条件

注:有where删除表中的某一元组

无where删除整张表

7.列级完整性约束说明

(1)NOT NULL 非空约束 格式:<列名> <类型> NOT NULL

(2)primary key 主键约束 注:如果在列级定义单列主键,可省略括号

(3)foreign key(列名) references 表名 (列名)外键约束

(4)unique 唯一值约束

(5)default 默认值约束

(6)check 列取值范围约束 check(逻辑表达式)

8.撤销基本表 drop table 表名

注:drop table 与 delete区分

9.SQL结构化查询语言

(1)结果去重问题 关键词 distinct 放select后

(2)结果排序问题 格式:order by 列名 asc:升序 省略为升序 desc:降序 放where之后

(3)模糊查询问题 格式:列名(not)like ‘字符串’

%:匹配0到多个字符

_:匹配任意一个字符

[ ]:匹配[ ]中的任意一个字符

[^ ]:不匹配[ ]中的任意一个字符

(4)多表联合查询问题  两个表的连接条件用表名,属性名

(5)重名问题    

select 列名 as 列别名

from 表名1 as 列别名1

where 检索条件

10.撤销数据库   drop datebase 数据库名

注:指定当前数据库  use 数据库名

关闭当前数据库  close  数据库名

11.SQL结构查询化语言—子查询

(1)(not)in 子查询       表达式(not)in(子查询)

非相关子查询:内层查询独立

相关子查询:只能从外层向内层传递参数

(2)\theta some / \theta all      \theta比较运算符:<,>,>=,<=,<>:不等于

注:not in 等价于 <>all

in等价于=some

(3)(not)exists(子查询)  语意:子查询结果中有无元组存在

12.SQL提供五个内置聚集函数

count         sum      avg          max           min

求个数       求和      求平均      求最大       求最小

13.group by 分组->用在where下面

注:五个聚集函数不能放在where之后

有group by 才能有having子句

例:求不及格课程超过两门的同学的学号

select S# from SC

where Score<60

group by S# having count (*)>2;

14.利用SQL实现关系代数操作

并 union          形式:union[all]

交 intersect     形式:intersect[all]

差 except        形式:except[all]

注:自动删除重复元组,不带all,保留重复元组,带all

空值    格式:is(not)NULL     不能写=NULL(空值不进行运算)

注:NULL参与聚集运算,除count外其他忽略

连接  inner jion, left outer join,right outer join,full outer join

放在where后          格式:表名,四选一,表名 on 连接条件

15.视图      create view 视图名 as 

撤销         drop view 视图名

16.不可更新视图情况:(1)包含聚集函数      (2)select子句使用unique或distinct

(3)group by        (4)算术表达式               (5)不包含主键 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值