zoukankan      html  css  js  c++  java
  • Oracle query and backup

      oracle分页查询的时候,不能使用limit,所以只能这样
      1.  select * from table_name where   rownum>begin   and   rownum<   end
      2.sql   =   "select   *   from   table"
      con.prepareCall("SELECT   *   FROM(SELECT   A.*,   rownum   r   FROM("+sql+")   A   WHERE   rownum   <=   "+intPage*intPageSize+")   B   WHERE   r   >   "+(intPage-1)
      *intPageSize);
      
      
      今天想查询一下Oracle数据库下所有的表名或某个用户下的所有表,半天没想起来.还是在网上找到了答案.
      select table_name from all_tables;//所有的表明
      select table_name from user_all_tables;//用户的所有的表
      
      一下是转贴的sql语句的帖子.
      
      select * from user_objects;                 //查询所有的表
      select * from dba_tables;                        //查询所有的表
      select * from all_tables;                        //查询所有的表
      select * from user_users                    //查出一个用户
      select * from all_users                                //查询所有用户
      select * from dba_users                         //查询所有用户
      select name,dbid from v$database;        //查询数据库名和它的ID
      select * from sys.user_tab_columns; //查询表名 ,并显示列名
      describe 表名                         //查询表结构
      select * from sys.user_tab_columns where table_name=表名 //查询指定表名的字段
      2: 查询数据库参数
      show parameter db;
      3:查询数据库的实例名
      select instance_name from v$instance;
      4: 数据库域名
      数据库安装结束后,如果要知道正在运行额数据库是否有域名以及数据库域名名称可以用
      select value from v$parameter where name='db_domain'
      show parameter domain
      5:数据库服务名
      如果数据库有域名,则数据库服务名就是全局数据库名,如果该数据库没有定义域名,则数据库服务名与数据库名相同
      show parameter service_name
      
      6:显示当前用户
      
      show user
      7:直接登陆
      sqlplus "/as sysdba"
      8:当前ORACLE系统时间
      select sysdate from dual;
      
      9:查询数据库字典v$nls_parameter产看字符集相关参数
      select * from v$nls_parameters;
      
      //*************
      oracle基本操作语句(适合初学者)
      oracle操作语句:
      1.创建表
      create table 表名(
      列名1 类型,
      列名2 类型
      );
      2.修改类属性
      alter table 表名 modify(列名 类型);
      3.添加列
      alter table 表名 add(列名 类型);
      4.添加主键约束和非空约束
      alter table 表名 add constraint pk_表名 primary key(列名);
      alter table 表名 modify(列名 not null);
      5.删除主键约束
      alter table 表名 drop primary key;
      alter table 表名 drop constraint pk_表名;
      6.失效约束
      alter table 表名 disable primary key;
      alter table 表名 disable constraint pk_表名;
      7.有效约束
      alter table 表名 enable primary key;
      alter table 表名 enable constraint pk_表名;
      8.删除列
      alter table 表名 drop column 列名;
      9.设置某列不可用,然后删除
      alter table 表名 set unused(列名);
      alter table 表名 drop unused columns;
      10.修改表名
      rename 表名1 to 表名2
      alter 表名1 rename to 表名2;
      11.截断表
      truncate table 表名;
      12.截断表保留行空间
      truncate table 表名 resue storage;
      13.查看表结构
      desc table 表名;
      14.删除表
      drop table 表名;
      15.插入记录
      例:insert into 表名 values(内容1,内容2,内容3,内容4);
      16.带参数对话方式插入行
      例:insert into 表名 values(&列名1,&列名2);
      insert into 表名 values(内容1,内容2);
      17.插入某几列记录
      insert into 表名(列名1,列名2) values(内容1,内容2);
      18.为列插入空值(其列不能为not null)
      insert into 表名 values(内容1,null,null);
      19.创建表(包括主键及外键设置)方法一
      create table 表名(
      列名1 类型
      constraint pk_表名 primary key,
      列名2 类型 not null,
      列名3 类型
      constraint fk_表名 reference 表名(列名),
      列名3 类型
      constraint ck_表名 check(列名3 in(''内容1'',''内容2'',''内容3''))
      );
      20.查询所有行
      select * from 表名;
      21.查询某几列
      select 列名1,列名2 from 表名;
      
      22.重复行消除
      select distict 列名 from 表名;
      23.where语句查询
      select * from 表名 where 条件 order by 列名;
      (注:如number类型查出自动按升序排列,如要按降序排列,则select * from 表名 where 条件 order by 列名 desc;)
      24.创建表,方法二
      create table 表名(
      列名1 类型 primary key,
      列名2 类型 not null,
      列名3 类型 check(列名3 in('''','''','''')),
      列名4 类型 refernce 表名(列名)
      );
      
      25.修改 列=‘?’的数据
      update 表名 set (列=?) where 列=‘?’;
      
      26.删除行
      delete from 表名 where 条件;
      
      27.事务处理
      --事务处理
      update 表名
      set 列名(日期) = ''30-5月-98''
      where 条件;
      savepoint mark1;
      delete from 表名 where 条件;
      savepoint mark2;
      rollback to savepoint mark1;
      rollback;
      28.建立用户user1,密码为password
      授予用户connect,resource的权限
      connect角色用于登录
      resource角色用于建表等.
      connect system/manager
      create user user1 identified by password;
      grant connect,resource to password;
      29.数据控制语言
      connect scott/tiger
      30.把对表1查询和修改的权限授予user1
      grant select,update on 表1 to user1;
      31.把对表表1中列1和列2修改的权限授予user1
      grant update(列1,列2) on 表1 to user1;
      32.把对表表1查询的权限授予用户user1
      并且user1用户还可以把这个权限授予别的用户(with grant option)
      grant select on 表1 to user1 with grant option;
      33.从用户user1撤销对表1查询和修改的权限
      revoke select,update on 表1 from user1;
    本篇文章来源于 黑客基地-全球最大的中文黑客站 原文链接:http://www.hackbase.com/tech/2009-09-23/56338.html


    Oracle import/Export 命令

     
    exp/imp 实例
        exp help=y 查看帮助
    exp
    1、exp
    usr/pwd@sid  file=c:\tb.dump  tables=tb1
       如果是导出多个表,tables=(tb1、tb2)
    2、exp
    usr/pwd@sid  file=c:\tb.dump  --全部导出
    3、exp
    usr/pwd@sid  file=c:\tb.dump  owner=(system,sys) 
       将用户system和sys用户下的表都导出
    4、exp
    usr/pwd@sid  file=c:\tb.dump  tables=tb1 query=\"where name='ha'\"
       注意分号的位置
     
     
    通过以下命令可以查看说明。
    c:\>imp help=y
    c:\>exp help=y
     
    eg:
    exp username/password@orcl file=expfile-%date:~0,10%.dmp log=exp.log
    imp newname/password@orcl fromuser=username touser=newname file=expfile2010-12-17.dmp IGNORE=y log=imp.log

    From http://zsl79812sun.blog.163.com/blog/static/1234112752009631103418551/

    impdp username/password@orcl directory=dmp_dir dumpfile=xxxx.dmp remap_schema=username:newname remap_tablespace=oldSPACE:newspace

    expdp username/password directory=dump_dir dumpfile=expfile-%date:~0,10%.dmp logfile=exp.log

    more at

    http://blog.csdn.net/aicon/archive/2010/07/17/5742382.aspx

    http://wenku.baidu.com/view/44ee901d59eef8c75fbfb38a.html

  • 相关阅读:
    如何学习 websocket ?
    如何使用 C++ Inja html template 模板
    使用 QSqlTableModel 模型向数据库中插入数据时,为什么使用 rowCount 函数只能返回 256 最大值?
    windows 如何配置 Go 环境(Zip archive 方式)?
    qt 如何使用 lamda 表达式接收线程中发射的数据,并在里面更新 UI ?
    如何使用 VLD 检测程序中的内存泄漏?
    Qt 在相同的线程中可以在信号中传递未注册的元对象,在非相同线程中则不能传递未测试的对象,为什么呢?
    《LeetBook》leetcode题解(5):Longest Palindromic [M]——回文串判断
    《LeetBook》leetcode题解(4): Median of Two Sorted Arrays[H]——两个有序数组中值问题
    《Algorithms算法》笔记:元素排序(4)——凸包问题
  • 原文地址:https://www.cnblogs.com/feishunji/p/1914970.html
Copyright © 2011-2022 走看看