oracle笔记

设置每行显示的长度:
set linesize 长度;
设置每页显示记录的长度:
set pagesize 行数;


sqlplus中连接用户:
 conn 用户名/密码 [as sysdba | sysoper]

如果想要访问其他用户的表,请输入表的完整名称,即“用户名.表明”,如果 select * from scott.emp;

显示正在连接的用户:
show user;

查看数据库中当前用户的所有表:
select * from tab;


oracle 提供字符串连接操作,使用“||”表示,要加入的固定信息使用“'”括起来。
例如: select '卡号:' || cardid|| '用户:' ||  userid from cardinfo

in 操作性能会好些

order by 
asc 升序,desc降序,没有指定排序规则默认是升序

子查询
from后面 where后面可以加子查询,子查询内容写在“()”内
单列子查询:返回单个列
单行子查询:返回多个列,有可能是一条完整的记录
多行子查询:返回多个行

子查询中存在三个符号:
IN:指明范围
ANY:
    =ANY 与IN完全相同
    >ANY 比最小的值要大
    <ANY 比最大的值要小
    
ALL:
    >ALL 比最大的值要大
    <ALL 比最小的值要小

事物处理:
  提交事物: commit
回滚事物: rollback
如果已经提交了,就无法回滚

alert:增加一个列
alert table 表名 add(列的名称 列的类型 default 默认值,列的名称 列的类型 default 默认值,…

…)
alter table scott.myemp add (sex number(1) default 0)

修改列
alert table 表名 modify(列的名称 列的类型 default 默认值,列的名称 列的类型 default 默认值,


RENAME 表的重命名
RENAME 旧的表名称 to 新的表名称
只能在oracle中使用…)

截断表:
立刻清空某张表的所有数据,释放资源,无法回滚。
truncate table 表名称

级联删除见博客

rownum 伪列
例如,selece * from emp where rownum <=10 ,可以查询1到10行记录
如果需要查询5到10行记录,必须使用子查询,先查询小于10内的记录。
select * from 
(
       select rownum rn ,empno,ename from emp where  rownum <10
 ) tmp
 where tmp.rn >5

视图:
create view 视图名称 as 子查询
例如: create view dept20 as
  select * from emp where deptno=20
删除视图:
drop view 视图名称
新增或修改视图: create or replace view  as 子查询
注意:视图的创建是用来查询的,所以不应该允许修复。
1.不允许修改视图创建条件
create view dept20 as
  select * from emp where deptno=20
with check option
此时,无法修改视图中创建条件,即deptno字段,但仍然可以修改其他字段,所以需

要第二种方法。
2.不允许修改视图
create or replace view dept20 as
          select * from emp where deptno=20
        with read only
序列:
自动增长列。在oracle中想要使用自动增长列,则只能使用序列来完成,所有的自动增长操作需

要用户手动完成。
创建自动增长列:create sequence myseq
序列创建完成后,所有的自动增长操作需要用户手动完成,所以在序列中提供了以下两种操作:
nextVal 取得序列的下一个内容
currVal 取得序列的当前内容
举例:
create table test 
{
next number,
curr number
}
  create sequence myseq
insert into test values(mysql.nextVal,mysql.currVal)
同义词:
可以让其它用户通过一个名称方便的访问“用户名.表名”
  create synonym 同义词名称 for 用户名.表名
 create synonym emp for scott.emp
用户管理:
create user 用户名 identified by 密码
授权:
新增好用户后,没有创建session的权限,无法进行登录,必须授以创建session的权限。
grant creat session to 用户名
授权用户: grant 权限1,权限2…… to 用户名
依次授权比较麻烦,oracle中提供了两个重要的角色 CONNECT,RESOURCE授权给用户
修改用户密码:
alter user 用户名 identified by 密码
让用户密码失效:
alter user 用户名 password expire
锁定/解锁用户
alter user 用户名 account lock/unlock
把一个用户下的表授权给另一个用户:
grant 权限1,权限2…… on 用户名.表名 to 用户;
grant select ,delete on scott.emp to test;
回收权限:
revoke select ,delete on scott.emp to test;

数据库备份 恢复
备份 exp
恢复 imp
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值