oracle常用命令

来源:互联网 发布:淘宝网阿迪达斯女鞋 编辑:程序博客网 时间:2024/05/16 05:03

oracle常用命令

oracle常用命令

 

1、如何单独备份一个或多个用户:
   D:/>exp scott/tiger file=导出文件
   D:/>exp system/manager owner=(用户1,用户2,…,用户n) file=导出文件
2、如何单独备份一个或多个表:
   D:/>exp 用户/密码 tables=表
   D:/>exp 用户/密码 tables=(表1,…,表2)
   D:/>exp system/manager tables=(用户.表)
   D:/>exp system/manager tables=(用户1.表1,用户2.表2)
3、如何导入指定表
   D:/>exp scott/tiger file=a.dmp
   D:/>imp test/test fromuser=scott tables=emp file=a.dmp
   D:/>imp test/test tables=dept file=a.dmp
  (说明:如果导出用户没有DBA权限,则导入用户可以不用指定fromuser、touser参数
          如果导出用户拥有DBA权限,则导入用户也必须拥有DBA权限)
4、如何给表、列加注释
   SQL>comment on table 表 is '表注释';
   注释已创建。
   SQL>comment on column 表.列 is '列注释';
   注释已创建。
   SQL> select * from user_tab_comments where comments is not null;
   SQL> select * from user_col_comments where comments is not null;

5、
  查看当前用户下有什么对象(表、视图、同义词、快照)
  SQL> select * from tab;
  查看表结构
  SQL> describe 表名
  简写以上命令
  SQL> desc 表名
6、
  DDL、数据定义语言:create、alter、drop、truncate(创建、修改结构、删除、截断)(其他:rename)
  DML、数据操纵语言:insert、delete、select、update(增、删、查、改)
  DCL、数据控制语言:grant、revoke(授权、回收)、set role
  事务控制:commit、rollback、savepoint(其他:lock table、set constraint(s)、set transaction)
  审计控制:audit、noaudit
  系统控制:alter system
  会话控制:alter session
  其他语句:comment(添加注释)、explain plan、analyze(收集统计)、validate、call
7、
  1)、查看当前所有对象

  SQL> select * from tab;

  2)、建一个和a表结构一样的空表

  SQL> create table b as select * from a where 1=2;

  SQL> create table b(b1,b2,b3) as select a1,a2,a3 from a where 1=2;

  3)、察看数据库的大小,和空间使用情况

  SQL> col tablespace format a20
  SQL> select b.file_id  文件ID,
  b.tablespace_name  表空间,
  b.file_name     物理文件名,
  b.bytes       总字节数,
  (b.bytes-sum(nvl(a.bytes,0)))   已使用,
  sum(nvl(a.bytes,0))        剩余,
  sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
  from dba_free_space a,dba_data_files b
  where a.file_id=b.file_id
  group by b.tablespace_name,b.file_name,b.file_id,b.bytes
  order by b.tablespace_name
  /
  dba_free_space --表空间剩余空间状况
  dba_data_files --数据文件空间占用情况


4、查看现有回滚段及其状态

SQL> col segment format a30
SQL> SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS FROM DBA_ROLLBACK_SEGS;

5、查看数据文件放置的路径

SQL> col file_name format a50
SQL> select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;

6、显示当前连接用户

SQL> show user

7、把SQL*Plus当计算器

SQL> select 100*20 from dual;

8、连接字符串

SQL> select 列1||列2 from 表1;
SQL> select concat(列1,列2) from 表1;

9、查询当前日期

SQL> select to_char(sysdate,'yyyy-mm-dd,hh24:mi:ss') from dual;

10、用户间复制数据

SQL> copy from user1 to user2 create table2 using select * from table1;

11、视图中不能使用order by,但可用group by代替来达到排序目的

SQL> create view a as select b1,b2 from b group by b1,b2;

12、通过授权的方式来创建用户

SQL> grant connect,resource to test identified by test;

13、备份
 create table yhda_bak as select * from yhda;

14、提出相同的记录

select  sid,count(*) from yhda a group by sid having count(*)>1

15、select的函数

ORDER BY – 按照指定列排序返回结果的子句
DISTINCT – 只返回结果集合内唯一行的关键词
COUNT -- 返回匹配查询的数据行总数数值的函数
AVG – 该函数返回指定列的平均值
SUM –该函数把指定的列中的数字加起来
MIN – 该函数返回列中最小的非NULL值
MAX –该函数返回列中的最大值
GROUP BY – 按列汇集查询函数结果的子句

13.Oracle数据直接导出到文本文件的方法

 利用Oracle中的Spool缓冲池技术可以实现Oracle数据导出到文本文件。
1)、在Oracle PL/SQL中输入缓冲开始命令,并指定输出的文件名:
 spool d:/output.txt
2)、在命令行中随便输入你的SQL查询:
 select mobile from customer;
 select mobile from client;
 ……
3)、在命令行中输入缓冲结果命令:
 spool off;
 则系统将缓冲池中的结果都输出到"output.txt"文件中。
 以TAB键分隔

原创粉丝点击