sqlplus的使用

1.sqlplus sys/x2145637@ORCL as sysdba    以SYS作为系统管理员连接远端的数据库  ORCL的名字所在位置在D:\app\lenovo\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora里面。
或者
sqlplus /nolog 登录sqlplus但不连接数据库
conn sys/x2145637  as sysdba
sqlplus语句太长能够用 - 连字符(注意区分sql语句、sqlplus语句和plsql语句)
--用户scott解锁alter user scott account unlock;
--用户scott加锁alter user scott account lock;
--更改password为orclalter user scott identified by orcl;


2.sql buffer 仅仅保留一条语句
clear buffer清空buffer
list查看缓冲区的sql语句


能够改动buffer的当前行
SQL>list 5 当前行为第5行 用run命令后 当前行会改变
然后SQL>4      当前行为第4行
SQL>c/100/15  把一行中100改变成15  //SQL>aa当前行所有替换成aa ; 0 aa相当与在最前面添加一行aa
加入 append and id<5 把and id<5加入到当前行后面
i and id<5 在当前行后面添加一行and id<5


del * n 删除buffer里的当前行到第n行
del m n
del * 
del * last 删除buffer里的当前行到最后一行




run显示缓冲区的sql语句而且运行
/  运行缓冲区的sql语句
save [filepath] 保存sql语句
@?/sqlplus/admin/help/hlpbld.sql helpus.sql @执行脚本 ?为oracle_home


3.desc显示表和视图结构或一个pl/sql函数的调用接口
替换变量select * from a where id=&myid; myid能够输入




4使用pl/sql语句
敲入begin或declare開始
begin
for i in 1 .. 10
loop
   insert into t values(i,'boobooke');
end loop;
end;
/


show serverout显示服务器端输出状态
set serverout on开启后client可接收服务端的输出
declare
     x varchar2(12) :='Hello World';
begin
    dbms_output.put_line(x);
exception
when others then
       dbms_output.put_line('Error occurred!');
end;
/
.为存贮但不运行 /为运行




5.host或者!后面能够跟操作系统的命令 !后面不跟命令会切换到操作系统shell
shell与sqlplus嵌套运行  父进程 子进程


6.show pause 显示暂停状态
show pagesize 显示一个表页面显示多少行
set pause on开启pause,每按enter显示一个表页面
set pause '~~~~~~~~~~~~~~~~~~~~~~~'  表页面用波浪线隔开


7truncate table m清空m表
commit提交命令 不运行这个命令 全部的sql操作仅仅是放在内存里
或者quit退出sqlplus时会自己主动提交 


开启马上自己主动提交
show autocommit 显示开启状态
set autocommit on 开启 set autocommit 10 10条语句后自己主动提交 plsql仅仅算一条


8.编辑脚本
define命令定义环境变量
在linux下define _editor=vi  使用edit sale就能调用vi创建并编辑sale.sql脚本保存在当前默认文件夹下
REM  /*   */   --  3个都为凝视命令
spool保存QUERY语句到文件且在屏幕输出
spool filename 
select语句
spool off
作用:批量删除table
spool droptable.sql
spool off
set pagesize 0
set feedback off
spool droptable.sql
select 'drop table' || object_name || ';' from user_objects where object_type='TYBLE';//嵌套查询显示出批量drop table代码,单引號内为字符常量,||为分隔符号
spool off






show user当前用户
drop user dzysc  cascade;用户下存在对象,表示要连带对象一起删除
Oracle查询全部用户
select * from all_users或select * from dba_users或select * from user_users;
查看用户系统权限s
elect * from dba_sys_privs;select * from all_sys_privs;
查看用户对象权限
select * from dba_tab_privs;
select * from all_tab_privs;
查看全部角色
select * from dba_roles;


创建表空间
create tablespace myspace
datafile 'E:\app\myspace\myspace.dbf'
size 10M autoextend on next 5M maxsize 100M;
查看表空间
select tablespace_name from dba_tablespaces/user_tablespaces;
查看用户表名
select table_name from user_tables;
查看datefile
SQL> select name from v$datafile;
查看tempfile
select name from v$tempfile;


查询USERS表空间下的表名
select table_name from all_tables where tablespace_name='USERS';


分配表空间配额
SQL>ALTER USER a QUOTA UNLIMITED ON a3; --a用户能够无限使用a3表空间
或者 
SQL>ALTER USER a quota 100M on a3; --a用户能够使用100Ma3表空间的数据


grant select on t to test;
授权表t的查询权限给test用户


1、权限授权及收回
系统权限
grant create session,create table to test with admin option;
revoke create session,create table from test;
对象权限
grant select on book to test with grant option;
revoke select on book from test;


create session是授予登陆的权限
with admin option加管理员权限



posted @ 2017-06-12 14:02  llguanli  阅读(272)  评论(0编辑  收藏  举报