前言
这是我上学期Oracle期末考试前整理的一些资料,今天调整了部分格式后分享出来。希望能帮到要考Oracle(以写SQL语句为主的考试)的小🔥伴儿们~
一、简介
1. 登录
结尾无分号
sqlplus sys/11111 as sysdba
-
切换用户(关键词:
Connect)connect scott/tiger -
用户表中可使用的磁盘空间大小(关键词:
Quota)[了解]create user linda identified by 111111 default tablespace users quota 10M on users; -
用户默认密码已过期,用户登录前需修改(关键词:
password expire)[了解]create user linda identified by 111111 password expire;
2. 授权
- 建立会话(登录)系统权限:grant create session to linda;
- 创建数据表的系统权限:grant create table to linda;
- 授权和数据库建立连接的角色:grant connect to linda;
3. 修改
关键词:Alter
-
修改密码
alter user linda indentified by 111112;
4. 启用与禁用
alter user linda account lock;
alter user linda account unlock;
5. 删除
若用户方案中存在对象,则需要用cascade
drop user linda cascade;
6. 索引、序列、角色、用户
-
索引是表的一个微型拷贝
create role hr_clerk identified by password;注:identified by后为密码
create user user_name identified by password;
二、表
1. 创建表
create table haha
(deptno number(2),
dname varchar2(14),
loc varchar2(13));
查看表信息:describe haha
1.1 子查询创建表
create table dept30
as
select empno, ename, sal*12 annsal
from emp
where deptno=30;
1.2 定义约束!!!
关键词:constraint
- 非空:
not null
create table haha
(empno number(4),
ename varchar2(10),
deptno number(7, 2) not null,
constraint emp_empno_pk primary key (empno));
-
唯一码约束:
unique -
主键约束:
primary key -
外键约束:
foreign key, references -
Check约束:
check
create table haha
(empno number(2),
ename varchar2(10) not null,
job varchar2(9),
sal number(7,2),
comm number(7,2),
mgr number(4),
hiredate date,
deptno number(7,2) not null,
constraint haha_ename_uk unique (ename),
constraint haha_empno_pk primary key (empno),
constraint haha_deptno_fk foreign key (deptno)
references dept (deptno)
constraint haha_deptno_ck check
(deptno between 10 and 99));
Q:number(7,2)含义?
A:7位有效数字,其中包含2位小数
1.3 管理约束
-
增加
alter table haha add constraint haha_mgr_fk foreign key (mgr) references emp (empno); -
删除
alter table haha drop constraint haha_mgr_fk;alter table haha drop primary key cascade; -
禁用
alter table haha enable constraint haha_empno_pk;alter table haha disable constraint haha_empno_pk cascade;
2. 更改表
关键词:alter, add, modify, drop column
alter table haha
add (job varchar2(9));
alter table haha
modify (job varchar2(10));
alter table haha
drop column job;
alter table haha
drop unused column;
2.1 更改表名称
关键词:rename ... to ...
rename haha to fafa;
3. 删除表
drop table haha;
若删除的表中包含有被其它表外部码引用的码,并希望删除表的同时删除其它表中的相关外部码约束,则需要加cascade语句
drop table haha cascade constraints;
4. 截断表
关键词:truncate
truncate table fafa;
5. 注释表
关键词:comment
comment on table emp is ‘Employee Information’;
三、视图
1. 创建视图
-
关键词:create view … as …
create view emp_view as select empno, ename, sal from emp;scott账户下创建视图会显示权限不足。解决方法如下
-
以system/pw登录oracle;
-
输入
grant create any view to scott; -
重新登录scott账户,即可创建视图
2. 重定义视图
-
关键词:create or replace view …
create or replace view emp_view as select empno, ename, sal, loc from emp, dept where emp.deptno = dept.deptno;
3. 删除视图
-
关键词:
dropdrop view emp_view;
4. 更改视图
create or replace view empvu10 (employee_number, employee_name, job_title)
as
select empno, ename, job
from emp
where deptno = 10;
思考:如何修改视图中某列的名称?
四、DML
1. Insert!!!
关键词:insert into… values…
注意括号!
insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (9000

最低0.47元/天 解锁文章
2万+





