版本
Oracle:Oracle Database Express Edition (XE) Release 18.4.0.0.0 (18c)
sys是oracle中的一个超级用户,以SYSOPER或SYSDBA登入
system是oracle中默认的系统管理员,它拥dba权限
允许一个数据库容器(Container Database)承载多个可插拔数据库(Pluggable Database)
查看当前CDB
创建CDB用户并授权
查看PDB
PDB$SEED,是用来创建新的PDB的模版
打开数据库
关闭数据库:alter pluggable database expdb1 close;
切换会话
创建PDB用户并授权
删除用户: drop user 用户名称 cascade;
Oracle SQL Developer 连接oracle
函数、约束、索引、触发器、视图、存储过程
1 函数
单行函数:字符串函数、数字函数、日期函数、转换函数
聚合函数:多行函数、分组函数、组函数
2 约束
2.1 非空约束 not null
2.2 唯一约束 unique
unique 允许null值,可存在多个null
2.3 主键约束 primary key
唯一非空
2.4 外键约束 forgign key
外键可以定义在具有父子关系的子表中,子表的列对应父表的主键列。
外键也可以定义在存在主键的表中,列对应主键列。
2.4.1 alter table 子表名 add constraint 约束名 foreign key(子表外键) references 父表名(父表主键);
删除父表中的某条数据时,
当子表存在该条数据的引用,会导致删除失败
2.4.2 alter table 子表名 add constraint 约束名 foreign key(子表外键) references 父表名(父表主键) on delete cascade;
删除父表中的某条数据时,
当子表存在该条数据的引用,子表中相关数据也会被删除。
2.4.3 alter table 子表名 add constraint 约束名 foreign key(子表外键) references 父表名(父表主键) on delete set null;
删除父表中的某条数据时,
当子表存在该条数据的引用的,子表中相关数据中的相关引用会被设置为null。
2.5 检查约束 check
数据必须满足规则
alter table 表名 add constraint 外键名 check(规则);
3 索引
索引是建立在表的一列或多列上的辅助对象,目的是加快访问表中的数据
create index 索引名 on 表名(列名);
4 触发器
可以在insert、updte、delete语句执行之前(before)或之后(after)执行触发器里面定义的语句
CREATE OR REPLACE TRIGGER 触发器名
BEFORE INSERT ON 表名
BEGIN
语句;
-- 数字类型编号列,添加数据时自动生成规则的编号
-- select nvl2(max(列名),max(列名)+1,10001) into :new.列名 from 表名;
END;
5 视图
视图:也称虚表
物化视图:一张或多张表中数据的副本
6 存储过程
效率高、安全性高