复习。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 ...