Oracle中数据表查询拷贝

一、Oracle数据库中,把一张表的查询结果直接生成并导入一张新表中。
  例如:现有只有A表,查询A表,并且把结果导入B表中。使用如下SQL语句:
  Sql代码
  create table B as select * from A
二、Oracle数据库中支持把查询结果导入到另外一张表中。
  例如:有两个表A和B
  1)如果两个表的表结构是否相同,但要插入的字段类型相同:
  (1)把A表的全部字段数据插入到B表中:
  Sql代码
  insert into B select * from A;
  (2)把A表中某些字段的数据插入B表中:
  Sql代码
  insert into B(字段名)(select 字段名 from A)
  2)如果不在同一个schema下在表名前加上schema,例如有schema X和Y:
  Sql代码
  insert into Y.B select * from X.A

三、一些非常有用的Oracle SQL(  前提,要打开windows command line窗口)
    1。打开SQLPLUS
    C> sqlplus /nolog
    2。连接到指定数据库  www.2cto.com
    SQL>connect  user/password@SID 或者
    SQL>connect  user/password@localhost(IP Address):1521/SID
    3。查询该schema下的所有用户表
    SQL>select table_name from user_tables;
    4。使用DBA身份登陆数据库
    SQL>connect system/manager@SID as sysdba;
    5。系统表中检索用户
    SQL>select name, password from sys.user$ where name = ''zhangsan';
    6。修改用户密码
    SQL>alter user user_name identified by new_password;
    7。查询DBA Profile表
    SQL>select * from dba_profiles where profile='DEFAULT_PROFILE';
    8。使用完整模式导出指定数据库
    SQL>exp 'system/manager@SID as sysdba'  FULL=y FILE=c:\dbfulldata.dmp log=c:\dbfulldata.log
    9。导入到新的数据库中
    SQL>imp system/manager@SID FULL=Y IGNORE=Y file==imp_dbfull.dmp log=imp_dbfull.dmp.log
    10。输出SQL执行结果到指定的文件
    SQL>spool c:\result.txt;
    SQL>select * from yourtables;
    SQL>spool off; --强制清孔缓冲区数据到指定txt文件
    11。修改system用户的密码
    SQL>connect  sys/install_on_change@SID as sysdba;
    SQL>alter user system identified by new_password;
    12。查看Oracle当前版本信息
    SQL>select * from v$version;
    13。删除数据库SID
    c\:>oradim -delete -sid SID
    14。查看用户信息
    SQL>select * from dba_users;

猜你喜欢

转载自boonya.iteye.com/blog/1827890