天天看點

Oracle常用操作「自己的練習」

  Oracle查詢的時候條件要用單引号包裹,不能用雙引号。。。。。。。。

  連接配接orcl資料庫

  C:\Windows\system32>sqlplus sys/123456@orcl as sysdba

  SQL*Plus: Release 11.2.0.1.0 Production on 星期五 2月 2 14:32:34 2021

  Copyright (c) 1982, 2010, Oracle. All rights reserved.

  連接配接到:

  Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

  With the Partitioning, OLAP, Data Mining and Real Application Testing options

  SQL> show user

  USER 為 "SYS"

  SQL> conn sbgl/sbgl@orcl

  已連接配接。

  USER 為 "SBGL"

  SQL> show parameter instance_name;

  NAME TYPE VALUE

  ------------------------------------ ----------- ------------------------------

  instance_name string orcl

  登入使用者切換使用者:

  C:\Windows\system32>sqlplus /@orcl as sysdba

  SQL*Plus: Release 11.2.0.1.0 Production on 星期五 2月 2 17:31:52 2021

  SQL> connect sbgl/sbgl@orcl as sysdba

  SQL> connect sbgl/sbgl@orcl

  SQL>

  注意:以sysdba登入實際上登入的sys使用者,是以

二手遊戲賬号出售平台

登入使用者的時候不要以sysdba登入。

  /1建立表空間/

  create tablespace sbgl datafile 'F:\Oracle\sbgl.dbf'size 200M

  autoextend on next 50M force logging;

  /2.建立使用者*/

  create user sbgl identified by sbgl default tablespace sbgl;

  /3.授予sbgl操作權限/

  grant connect,resource,dba to sbgl;

  /*4.建立導出目錄(之後手動建立目錄)/

  create or replace directory pump_dir as 'F:\expdp';

  /5.向新創的使用者授權/

  grant read,write on directory pump_dir to sbgl;

  /6.檢視管理理員目錄*/

  select * from dba_directories;

  導入導出:

  導入資料

  1、将SBGL20210129.EXPDP檔案拷貝到d:\expdp;

  2、在CMD視窗下執行以下命名

  impdp sbgl/sbgl@orcl dumpfile=pump_dir:SBGL20210129.EXPDP table_exists_action=replace nologfile=y

  導出資料:

  expdp sbgl/sbgl@orcl dumpfile=pump_dir:SBGL20210129.expdp schemas=sbgl nologfile=y

  /*檢視使用者的角色/

  select * from USER_SYS_PRIVS where USERNAME='sbgl';

  select * from dba_sys_privs;

  /檢視目前登入使用者資訊(使用者名、建立時間、表空間)*/

  select * from user_users;

  /檢視所有使用者資訊**/

  select from dba_users; /檢視資料庫裡面所有使用者,前提是有dba權限的帳号,如sys,system*/

  select username from dba_users;  //檢視所有有dba權限使用者名稱

  select from all_users; /檢視能管理的所有使用者*/

  /*檢視使用者與表空間的關系/

  select default_tablespace, temporary_tablespace, d.username from dba_users d where username='SBGL';

  /*檢視所有的表空間/

  select tablespace_name from dba_tablespaces;

  /檢視所有使用者*/

  select * from dba_users;

  /檢視一個表空間下面的所有表*/

  select TABLE_NAME,TABLESPACE_NAME from dba_tables where TABLESPACE_NAME='SBGL';

  /檢視一個使用者有哪些表/

  select * from all_tables where owner='SBGL';

  /檢視目前使用者有哪些表*/

  select table_name from user_tables;

  /檢視目前使用者有哪些試圖/

  select * from user_views;

  select VIEW_NAME from user_views;

  /檢視dba_tablespaces表結構/

  desc dba_tablespaces;

  /檢視目前使用者/

  show user;

  select username from user_users;

  /檢視目前連接配接資料庫/

  show parameter instance_name;

  /檢視建表語句**/

  select dbms_metadata.get_ddl('TABLE','a') from dual 隻需要将表名的小寫改為大寫即可;; //其中a為表名; 如果有PLSQL的話可以直接在可視化界面檢視表的建表語句;

  /oracle檢視版本*/

  select * from v$version;

  /檢視資料庫名/

  select name from v$database;

  /檢視sid/

  select instance_name from v$instance;

  分頁查詢相關:(對原始的查詢進行兩層封裝)

  /*普通的查詢(30資料)/

  select * from ENVIRONMENT_APPLY_AUDIT;

  /查詢帶行号的資料*/

  select ROWNUM ru,AAA. from ( select from ENVIRONMENT_APPLY_AUDIT ) AAA;

  /查詢第一頁 每頁5條資料**/

  select from (select AAA.,ROWNUM ru from (select * from ENVIRONMENT_APPLY_AUDIT ) AAA where ROWNUM<6);

  select from (select ROWNUM ru,AAA. from (select * from ENVIRONMENT_APPLY_AUDIT ) AAA where ROWNUM<6) where ru>0;

  /查詢第二頁資料**/

  select from (select ROWNUM ru,AAA. from (select * from ENVIRONMENT_APPLY_AUDIT ) AAA where ROWNUM<11) where ru>5;

  /查詢第三頁資料**/

  select from (select ROWNUM ru,AAA. from (select * from ENVIRONMENT_APPLY_AUDIT ) AAA where ROWNUM<16) where ru>10;