补充知识点,五种语言类型,约束,存在,序列

7 篇文章 0 订阅

1. 五种语言

–1.Oracle SQL语句由如下命令组成:
数据定义语言(DDL),包括CREATE(创建)命令、ALTER(修改)命令、DROP(删除)命令、TRUNCATE命令等。
数据操纵语言(DML),包括INSERT(插入)命令、UPDATE(更新)命令、DELETE(删除)命令等。
数据查询语言(DQL),包括基本查询语句、Order By子句、Group By子句等。
事务控制语言(TCL),包括COMMIT(提交)命令、ROLLBACK(回滚)命令。
数据控制语言(DCL),GRANT(授权)命令、REVOKE(撤销)命令。

2.约束

按用途分类
1)PRIMARY KEY 主键约束(可以没有主键,但主键是非空且唯一)(查看–键)
创建主动约束
ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY(列名1,列名2.。。)
eg给EMP_TOTAL 增加一个主键
ALTER TABLE EMP_TOTAL ADD CONSTRAINT PK_EMPNO PRIMARY KEY(EMPNO)

2)foreign key 外键
INSERT INTO EMP(EMPNO,DEPTNO) VALUES(1234,50)
会报错,因为dept表内没有deptno=50这个数据,

3)CHECK 检查约束
SELECT * FROM STUDENT1;
4)UNIQUE 唯一约束
5)NOT NULL 非空约束

3.EXISTS: 存在

EXISTS(查询结果集):查询结果集有记录则成立,否则不成立
NOT EXISTS : 于EXISTS相反

EG查询DEPT表中哪些部门存在于emp表中

SELECT *
FROM DEPT D
WHERE EXISTS(SELECT * FROM EMP E WHERE D.DEPTNO = E.EMPNO)

(查不出结果)

SELECT *
FROM DEPT D
WHERE EXISTS(SELECT **这里写啥都行,1也可以) FROM EMP E WHERE D.DEPTNO = E.deptno)

这样就能够关联,能查出数据
其实这种方式在某些领域的查询速度是很快的

4.序列:Sequence 用来生成连续的整数数据的对象

是序号生成器,可以为表中的行自动生成序号,产生一组等间隔的数值(类型为数字)
徐磊常常用来作为主键的增长列,序列中可以升序生成,也可以降序生成。
创建序列的语法是:
CREATE SEQUENCE 序列名

CREATE SEQUENCE S_TEST;--创建序列  S_TEST;,
SELECT S_TEST.NEXTVAL FROM DUAL; (执行后,每查一次,序列号从1开始逐个增加,即 查询一次增加1)
SELECT S_TEST.currval FROM DUAL;(显示当前序列号,多次执行不会改变)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值