sql*plus入門
sql*plus入門
oracle sql*plus工具是用於連線管理資料庫的實用工具,提供了簡潔強大的命令列介面
在各個發行版本都帶有該工具。用於執行資料庫管理,編輯執行sql,pl/sql命令。
注:oracle sql*plus執行的部分是本地命令(local commands),也是就是sql*plus自帶的命令,
部分是伺服器端命令(server-executed commands).
使用sql*plus連線資料庫:
sqlplus scott/TIGER@localhost:1521/ORACL
使用easy connect方法,連線遠端資料庫。可以不需要配置tnsnames.ora檔案
要連線遠端資料庫只需要把localhost換成遠端主機名。
tnsnames.ora可以使用netmgr配置或者直接修改tnsnames.ora檔案。
設定預設使用的資料庫:
$ ORACLE_SID=orcl
$ export ORACLE_SID
這樣可以不需要指定登陸的資料庫名
$ sqlplus username/password
注意:這時候密碼是可見
當需要連線到非預設的資料庫的時候,指定tnsnames.ora檔案中的服務名
$ sqlplus username@connect_identifier
可以使用作業系統認證的方式以sysdba登陸系統:
sqlplus / as sysdba
某種操作,比如startup,shutdown 必須是以sysdba or sysoper驗證的使用者
connect命令:
進入sql命令列介面以後,也可以切換到其他使用者,其他資料庫
SQL> connect newuser/newuser_passwd
SQL> connect salapati/sammyy1@orcla
connect sys/sammy1@prod1 as sysdba
connect / as sysdba
connect username/password as sysdba
connect / as sysoper
connect username/password as sysoper
這時確保tnsnames.ora已經配置關於要連線的資料庫的連線資訊
nolog命令:
可以使用/nolog先進入sql*plus命令列介面,而不連線到資料庫
$ sqlplus /nolog
這時主要是為了編輯sql指令碼,需要連線到資料庫的時候可以使用connect命令
-用於連線字元拼接:
SQL> select 200 - -
> 100 from dual;
200-100
----------
100
其中一個用作減號
exit,quit用於退出資料庫系統:
注意:這時候sql*plus會自動的執行commit;
如果你得事物不需要提交請在退出前rollback;
show screen用於清理螢幕
SQL> clear screen
在linux下也可以使用:
SQL> !clear
edit命令:
在提示符下輸入edit預設使用的vi,windows下是notepad,如果要改變預設的sql語句編輯器
可以再提示符下輸入define_editor=notpad(你想要使用的編輯器名)。
出現在文字編輯器中的sql語句是最新執行的,預設檔名為afiedt.buf
如果想要保持你編輯的sql語句,可以在edit後面跟上你要儲存的檔名(filename)。
執行sql語句,只需要在提示符下鍵入/然後按enter鍵,或者使用@filename然後按enter鍵。
set命令:
set命令用於設定sql*plus會話的環境變數.使用help index命令顯示出幫助主題
使用help [topic]詳細瞭解該命令。
SQL> help index
Enter Help [topic] for help.
@ COPY PAUSE SHUTDOWN
@@ DEFINE PRINT SPOOL
/ DEL PROMPT SQLPLUS
ACCEPT DESCRIBE QUIT START
APPEND DISCONNECT RECOVER STARTUP
ARCHIVE LOG EDIT REMARK STORE
ATTRIBUTE EXECUTE REPFOOTER TIMING
BREAK EXIT REPHEADER TTITLE
BTITLE GET RESERVED WORDS (SQL) UNDEFINE
CHANGE HELP RESERVED WORDS (PL/SQL) VARIABLE
CLEAR HOST RUN WHENEVER OSERROR
COLUMN INPUT SAVE WHENEVER SQLERROR
COMPUTE LIST SET XQUERY
CONNECT PASSWORD SHOW
array[size]:設定一次從資料庫中獲取的行數,把該值設定的大寫可以提高查詢的效率,但是同時也需要
更多的記憶體。
SQL> show array
arraysize 15
SQL> set array 30
autocommit[on|off]:設定是否自動提交事務。
SQL> show autocommit;
autocommit OFF
echo[on|off]:每一個命令都將在螢幕輸出前顯示。
SQL> show echo
echo OFF
SQL> set echo on
linesize[80|n]:控制每行顯示的字元個數。
SQL> show linesize
linesize 80
SQL> set linesize 120
time[on|off]:顯示系統時間。
SQL> show time
time OFF
SQL> set time on
12:34:58 SQL>
sqlprompt[sql>|text]:sql*plus會話的提示符。
SQL> show sqlprompt
sqlprompt "SQL> "
SQL> set sqlprompt "dba@oracle>"
dba@oracle>
space[1|n]:設定列輸出之間的空格,最大值是10.
SQL> show space
space 1
SQL> select * from V$sgainfo;
NAME BYTES RES
-------------------------------- ---------- ---
Fixed SGA Size 1336120 No
Redo Buffers 6373376 No
Buffer Cache Size 159383552 Yes
Shared Pool Size 96468992 Yes
Large Pool Size 29360128 Yes
Java Pool Size 12582912 Yes
Streams Pool Size 0 Yes
Shared IO Pool Size 0 Yes
Granule Size 4194304 No
Maximum SGA Size 305508352 No
Startup overhead in Shared Pool 62914560 No
NAME BYTES RES
-------------------------------- ---------- ---
Free SGA Memory Available 0
SQL> set space 0
SQL> select * from V$sgainfo;
NAME BYTESRES
---------------------------------------------
Fixed SGA Size 1336120No
Redo Buffers 6373376No
Buffer Cache Size 159383552Yes
Shared Pool Size 96468992Yes
Large Pool Size 29360128Yes
Java Pool Size 12582912Yes
Streams Pool Size 0Yes
Shared IO Pool Size 0Yes
Granule Size 4194304No
Maximum SGA Size 305508352No
Startup overhead in Shared Pool 62914560No
NAME BYTESRES
---------------------------------------------
Free SGA Memory Available 0
請注意查詢輸出的差異
pagesize[24|n]:設定每頁的行數。
SQL> show pagesize
pagesize 14
SQL> select * from V$sgainfo;
1//編號是自己手動新增的
2NAME BYTESRES
3---------------------------------------------
4Fixed SGA Size 1336120No
5Redo Buffers 6373376No
6Buffer Cache Size 159383552Yes
7Shared Pool Size 96468992Yes
8Large Pool Size 29360128Yes
9Java Pool Size 12582912Yes
10Streams Pool Size 0Yes
11Shared IO Pool Size 0Yes
12Granule Size 4194304No
13Maximum SGA Size 305508352No
14Startup overhead in Shared Pool 62914560No
NAME BYTESRES
---------------------------------------------
Free SGA Memory Available 0
12 rows selected.
其中每一頁最大14行.
feedback[on|off]:設定是否範圍“x row selected”。
SQL> show feedback
FEEDBACK ON for 6 or more rows
SQL> set feedback off
SQL> show feedback
feedback OFF
verify[on|off]:設定SQL文字是否顯示當,變數替換以後。
SQL> show verify
verify ON
SQL> create table hr.test(col number(4));
Table created.
SQL> insert into hr.test values(&col);
Enter value for col: 1000
old 1: insert into hr.test values(&col)
new 1: insert into hr.test values(1000)
1 row created.
SQL> set verify off
SQL> insert into hr.test values(&col);
Enter value for col: 999
1 row created.
注意前後的區別。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-715714/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL入門之6 sql*plusSQL
- MyBatisPlus入門學習MyBatis
- SQL 入門SQL
- Mybatis-Plus入門實踐MyBatis
- MyBatis-Plus筆記(入門)MyBatis筆記
- PL/SQL入門SQL
- 水煮六《——sql*plus工具的登入SQL
- mybatis-plus匯入sql日誌MyBatisSQL
- SQL *Plus設定login.sql登入設定SQL
- SQL入門基礎SQL
- SQL基礎入門SQL
- Mysql系列一:SQL入門MySql
- SQL入門-進階教程SQL
- 1、MySQL和SQL入門MySql
- SQL入門之11 DatabaseTransactionsSQLDatabase
- SQL入門之7 鎖SQL
- 使用SQL*PlusSQL
- SQL-小白最佳入門sql查詢一SQL
- SQL 注入攻防入門詳解SQL
- SQL入門之10 MERGESQL
- SQL入門之9使用defaultSQL
- SQL語言快速入門(轉)SQL
- 【sqlplus】SQL*Plus命令使用大全SQL
- SQL*Plus安全(一)SQL
- SQL*Plus安全(二)SQL
- SQL*PLUS安全(三)SQL
- SQL*PLUS安全(四)SQL
- SQL*Plus Substitution VariablesSQL
- set autotrace in SQL*PlusSQL
- 登入Oracle錯誤提示Error 6 initializing SQL*PlusOracleErrorSQL
- 使用sql*plus編輯sql文字SQL
- ORACLE SQL and SQL*PLUS (strong recommend)OracleSQL
- sql之27 using sql*plusSQL
- sql之26 using sql*plusSQL
- sql入門基礎知識分享SQL
- 10.spark sql之快速入門SparkSQL
- sql查詢入門練習題SQL
- Spark SQL | Spark,從入門到精通SparkSQL