码迷,mamicode.com
首页 > 数据库 > 详细

sqlplus的使用

时间:2015-07-27 16:23:23      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

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;
--更改密码为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开启后客户端可接收服务端的输出
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加管理员权限



版权声明:本文为博主原创文章,未经博主允许不得转载。

sqlplus的使用

标签:

原文地址:http://blog.csdn.net/x2145637/article/details/47086029

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!