oracle学习笔记

发布 2021-05-11 23:51:28 阅读 4555

复习。1)子查询:非关联子查询/关联子查询。

2)集合操作:union/union all/intersect/minus

参与集合操作的两个结果集必须是同构的。

3)约束条件:pk/fk/not null/unique/check

4)建表。5)dml:insert

外键。-主表(父表) 被参照的表。

create table major_ning(

mid number(2) primary key,mname varchar2(30)

-从表(子表) 参照别的表。

create table student_ning(

id number(5) primary key,name varchar2(20),mid number(2),constraint stuning_mid_fk foreign key (mid) references major_ning(mid)

insert into major_ning

values(1, 'computer');

insert into major_ning

values(2, 'music');

insert into major_ning

values(3, 'movie');

insert into student_ning

values(101,'peter',1);

insert into student_ning

values(102,'chris',3);

insert into student_ning

values(103,'king', 2);

select

from student_ning s join major_ning m

on = and = peter';

-试图增加一个学生记录,指定一个不存在的专业编码10

insert into student_ning

values(110,'dawson',10);

-报错:未找到父项关键字。

-表示:在父表中没有编码为10的专业。

ora-02291: integrity constraint ( violated - parent key not found

-试图删除major_ning表中的1专业,这个专业被某些学生选修(被参照),此时删除不成功,delete from major_ning where mid = 1;

-报错:已找到子记录。

error at line 1:

ora-02292: integrity constraint ( violated

- child record found

-在建立子表时,外键约束增加设定条件。

-on delete cascade

create table student_ning(

id number(5) primary key,name varchar2(20),mid number(2),constraint stuning_mid_fk foreign key (mid) references major_ning(mid) on delete cascade);

- on delete set null

create table student_ning(

id number(5) primary key,name varchar2(20),mid number(2),constraint stuning_mid_fk foreign key (mid) references major_ning(mid) on delete set null);

select

create / drop /

insert / delete / update

commit / rollback

-insert

insert into dept(deptno, dname, loc)

values(80, 'market', beijing');

create table mydept(

id number(2) primary key,name varchar2(20),location varchar2(30));

insert into mydept(id, name, location)

select deptno, dname, loc from dept;

create table emp_ning(

id number(4) primary key,name varchar2(20),deptno number(20));

-新增一条记录。

insert into emp_ning

values(1234,'peter',10);

-利用子查询,新增多条记录。

insert into emp_ning(id,name, deptno)

select empno, ename, deptno

from where deptno = 10;

-复制表:包括结构和数据。

create table emp_dup

asselect * from

-复制表结构,不复制数据。

create table emp_bak

asselect * from

where empno > 9999;

-update

update emp_ning set sal = 1000

where empno = 7369;

update emp_ning set sal = 1500,

deptno = 20, job = salesman'

where empno = 7369;

-delete

delete emp_ning where deptno = 10;

dml: insert / update/ delete

事务语句。commit / rollback / s**epoint

create table temp_ning(

id number primary key);

insert into temp_ning values(1);

s**epoint a;

insert into temp_ning values(2);

s**epoint b;

insert into temp_ning values(3);

s**epoint c;

insert into temp_ning values(4);

rollback to b;

rollback to c;--检查结果。

rollback to a;

commit;

-数据库的主要对象。

表 table

视图 view

索引 index

序列 sequence

约束条件。同义词。

-视图 view

-创建视图。

create or replace view v_emp_ning

asselect ename, sal from

-和查询表一样使用。

select * from v_emp_ning;

desc v_emp_ning

-删除视图。

drop view v_emp_ning;

-数据字典。

-用户名下的数据表:user_tables;只读。

select count(*)from user_tables;

select table_name from user_tables

where rownum < 20; -查前19个表名。

select * from user_table

where table_name = emp';-查emp表的信息。

-和视图相关的数据字典user_views;

-查看视图总数。

select count(*)from user_views;

-查看数据字典的结构。

desc user_views

select text from user_views

where view_name = v_emp_ning';

-创建复杂视图。

create or replace view emp_sum

asselect deptno, sum(sal) sum_sal

from group by deptno;

数据字典:user_tables:当前用户名下所有的表。

all_tables: 当前用户能访问的所有的表。

自己的表+别的用户允许自己访问的表。

dba_tables:数据库下所有的表。

select count(*)from user_objects;

select count(*)from user_tables;

select count(*)from all_objects;

select count(*)from all_tables;

-索引。创建索引的方式:自动/手动。

当创建唯一/pk约束条件时,索引自动创建。

create index emp_ename_idx on emp(ename);

ORACLE学习笔记

rac real application clusters 真实应用集群。ohs oracle http server sga system global area 系统全局区,是系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。实例 存取和控制数据数...

Oracle学习笔记

参数文件 记录了控制文件的位置,控制文件是一个非常小的二进制文件,最大。可以增长到 64mb,控制文件包括如下主要信息 数据库的名字,检查点信息,数据库创建的时间戳 所有的数据文件,联机日志文件,归档日志文件信息 备份信息等 有了这些信息,oracle 就知道那些文件是数据文件,现在的重做日志文件是...

ORACLE学习笔记

目录。oracla管理 1 1.登录sqlplus 1 1.1.sysdba 身份登陆 1 1.2.普通用户登陆sqlplus 1 2.常用命令 1 3.格式化提示符 2 4.查看系统状态 2 4.1.查看实例状态 2 4.2.查看表 2 5.关闭 启动 2 6.创建表空间 3 7.用户和权限 3 ...