Oracle-DCL&DDL&DML语言

DCL:数据控制语言,是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句
DDL:数据定义语言,其实就是我们在创建表的时候用到的一些sql,比如说:CREATE、ALTER、DROP等。DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上
DML:数据操作语言,就是我们最经常用到的 SELECT、UPDATE、INSERT、DELETE。 主要用来对数据库的数据进行一些操作

一、DCL 数据控制语言
1、授予
格式1:
GRANT 角色权限(角色)[,角色权限] TO 用户;
例子:
授予CONNECT和RESOURCE两个角色

SQL> GRANT connect, resource TO test;

查看 resource 角色下的权限

SQL> SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCE'

格式2:
GRANT 操作 ON 模式.对象 TO 用户;
例子:
允许用户查看、更新 EMP 表中的记录

SQL> GRANT select,update ON SCOTT.emp TO test;

查看当前用户的系统权限

SQL> select * from user_sys_privs;

查看当前用户的对象权限

SQL> select * from user_tab_privs;

查看当前用户的所有角色

SQL> select * from user_role_privs;

2、撤销
格式1:
REVOKE 角色权限(角色)[,角色权限] FROM 用户;
例子:
撤销CONNECT和RESOURCE两个角色

SQL> REVOKE connect, resource FROM test;

格式2:
REVOKE 操作 ON 模式.对象 FROM 用户;
例子:
撤销用户查看、更新 EMP 表中的记录的操作

SQL> REVOKE select,update ON SCOTT.emp FROM test;

二、 DDL 数据定义语言
1、创建表
格式:
CREATE TABLE <table_name>(
column1 DATATYPE [NOT NULL] [PRIMARY KEY],
column2 DATATYPE [NOT NULL],

[constraint <约束名> 约束类型 (要约束的字段)
… ] );
例子:

SQL> create table t_student(
s_id number(8) PRIMARY KEY,
s_name varchar2(20) not null,
s_sex varchar2(8),
clsid number(8),
constraint u_1 unique(s_name),
constraint c_1 check (s_sex in ('MALE','FEMALE'))
);

2、修改表
格式1:
向表中添加新字段
ALTER TABLE <table_name> ADD (字段 1 类型 [NOT NULL],
字段 2 类型 [NOT NULL] … );
例子:

SQL> alter table t_student add (s_age number(3),s_address varchar2(20));

格式2:
修改表中字段
ALTER TABLE <table_name> MODIFY(字段 1 类型,字段 2 类型 … );
例子:

SQL> alter table t_student modify(s_name varchar2(50),s_address
varchar2(100));

格式3:
删除表中字段
ALTER TABLE <table_name> DROP(字段 1,字段 2… );
例子:

SQL> alter table t_student drop(s_age,s_address);

格式4:
修改表字段名称
ALTER TABLE <table_name> RENAME COLUMN 原字段名称 TO 新字段名称;
例子:

SQL> alter table t_student rename column s_id to s_no;

3、删除表
格式:
删除表结构及数据(删除后可在回收站查看并恢复)
DROP TABLE <table_name>;
删除表结构及数据(删除后不可在回收站查看并恢复)
DROP TABLE <table_name> PURGE;
例子:

SQL> drop table t_student;

4、回收站
(1)查看回收站

SQL> show recyclebin; 或 SQL> select * from recyclebin;

(2)清空回收站

SQL> purge recyclebin;

三、DML 数据操作语言
1、新增
格式1:
INSERT INTO table_name (column1,column2,…)
VALUES ( value1,value2, …);
例子:

SQL> insert into emp (empno,ename) values(1111,'test');

格式2:
INSERT INTO <table_name> <SELECT 语句>;
例子:

SQL> create table t1 as select * from emp where 1=2;
insert into t1 select * from emp where sal>2000;

2、修改
格式:
UPDATE table_name SET column1=new value,column2=new value,…
WHERE <条件>;
例子:

SQL> update emp set sal=3000 where ename='test';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值