sql习题三--DML和TCL

1、将部门编号50,部门名字DBA,部门地址北京插入到dept表
SQL> insert into dept values(50,'DBA','BEIJING' );
 
2、将部门编号60,部门名字SA 插入到dept表--写出你知道的插入语法,至少写出6种不同写法
SQL> insert into dept(deptno,dname) values(4,'SA');
SQL> insert into dept(deptno,dname,loc) values(5,'SA',null);
SQL> insert into dept select 6,'SA',null abc  from dual;  
 
3、将员工编号4,员工名字sarah,员工入职时间1999年5月5号插入到emp
SQL> insert into emp(empno,ename,hiredate)
values(4,'SARAH',to_date('19990505','yyyymmdd'));
 
4、使用一条insert插入部门编号70,部门名字4G,部门地址北京,部门编号80,部门名字IOS,部门地址成都到dept表
SQL> l
  1  insert into dept
  2* (select  70,'4G','BEIJING' from dual union select 80,'IOS','CD' from dual);
 
5、更新员工名字sarah为Sarah
SQL> update emp set ename='Sarah' where ename='SARAH';
 
6、更新员工名字Sarah的薪水为3000
SQL> update emp set sal=3000 where ename= 'Sarah';
 
7、更新员工名字Sarah的薪水为SCOTT员工的薪水
SQL> update emp set sal=(select sal from emp  where ename= 'SCOTT') where
ename='Sarah';
 
8、更新员工名字Sarah的薪水为SCOTT和KING员工的最高薪水
SQL> update emp set sal=(select max(sal) from emp  where ename
in('SCOTT','KING')) where ename='Sarah';
 
9、删除员工名字为Sarah的行记录
 
SQL> delete emp where ename='Sarah';
10、删除与员工SCOTT相同的薪水行记录,但不删除SCOTT自己行
SQL> delete emp where sal=(select sal from emp where ename='SCOTT') and
ename<>'SCOTT';
 
11、查看当前系统中有哪些系统权限
SQL> select * from system_privilege_map;
 
12、查看当前用户具有哪些系统权限
SQL> select * from user_sys_privs;
 
13、创建一个用户test,并且给test用户授予创建会话,创建索引,创建同义词,创建函数的权限
SQL> create user test identified by oracle;
SQL> grant create session,create indextype,create synonym,create procedure to
test;  
 
14、回收test用户创建函数的权限。
SQL> revoke create procedure from test;
 
15、查看当时系统具有哪些对象权限,当前用户具有哪些对象权限。
SQL> select * from dba_tab_privs;
SQL> select * from user_tab_privs;
 
16、给test用户授予查询数据库中hr用户下employees表的权限和修改(salary列)的权限
SQL> grant select on HR.employees to test;
SQL> grant update(salary) on HR.employees to test;
 
17、查看当前用户具有哪些角色权限
SQL> select * from role_sys_privs;
 
18、查看当前用户下角色具有哪些系统权限,角色具有哪些对象权限
SQL> select * from role_sys_privs;
SQL> select * from role_role_privs;
 
19、创建一个角色,并给角色授予某些系统权限和对象权限。
 
 
SQL> create role a1;
SQL> grant create session ,create table to a1;
SQL> grant select,insert,update on scott.emp to a1;
 
 
 
 

转载于:https://my.oschina.net/liubaizi/blog/796108

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值