l 视图
1、用超级管理员登录把创建权限赋给某用户。
grant create table,create view to scott;
2、创建视图,视图名称以v$开头,as后面跟select语句
create view v$_dept_avg-sal_info as
select deptno,grade,avg_sal from
( select deptno,avg(sal) avg_sal from emp group by deptno)t
join salgrade s on 9t.avg_sal between s.losal and s.hisal)
3、查看视图内容
select * from v$_dept_avg-sal_info
l 表的操作
n 备份
create table dept2 as select * from dept;
n 插入数据
insert into dept2 values(50,'game','beijing');
insert into dept2(deptno,dname) values(60,'game2');
n 将一个表中的数据完全插入另一个表中(表结构必须一样)
insert into dept2 select * from dept;
l 用户建立和删除
每个用户对应一个表空间,表空间相互独立。
n 删除用户
drop user abc cascade;
n 导出用户
直接在cmd下面使用exp命令
n 创建用户
在orcl命令行下执行命令:(注意不是cmd)
create user 用户名 identified(认证) by 密码default tablespace users quota(配额) 10M on users
grant create session(给它登录到服务器的权限),create table, create view to 用户名
n 导入数据
直接在cmd下面使用imp命令
l rownum
86、-----求前五名员工的编号和名称(使用虚字段rownum 只能使用 < 或 = 要使用 > 必须使用子查询)
select empno,ename from emp where rownum <= 5;
86、----求10名雇员以后的雇员名称--------
select ename from (select rownum r,ename from emp) where r > 10;
87、----求薪水最高的前5个人的薪水和名字---------
select ename, sal from (select ename, sal from emp order by sal desc) where rownum <=5;
88、----求按薪水倒序排列后的第6名到第10名的员工的名字和薪水--------
select ename, sal from
(select ename, sal, rownum r from
(select ename, sal from emp order by sal desc)
)
where r>=6 and r<=10
l 事务
n 事务回滚
当非正常断开连接,例如直接关闭dos窗口或关机,事务自动回滚。
在命令行下敲入第一条DML语句时就已经开始了一个事务,只要没有执行commit,这些操作就都在同一个事务里。因此执行rollback;会回滚全部操作。
n 事务提交
当正常断开连接的时候例如exit,事务自动提交。
执行DDL语句事务自动提交。
执行commit;//此时再执行rollback无效
推荐一个淘宝旗下网站,每天9块9包邮还返利。现在登录还有9元支付宝红包送你哦!http://invite.etao.com/67121619402a047e.htm