Oracle及SQLPLUS使用筆記
自己之前粗粗的學過MySQL,學校用的是Oracle,學生使用sqlplus,這是個命令行界面的數據庫管理軟件(為了學習嘛,不用圖形化可以理解),這里記錄一些使用時候涉及到的實用內容:
-
sqlplus刪除已輸入內容:ctrl+backspace
-
注意Oracle和MySQL的區別:Oracle的自動提交功能是關閉的,所以如果修改了數據庫data之后沒有提交就關閉了就gg了,所以使用Oracle一定要熟記commit和rollback指令
-
sqlplus沒有回溯指令的功能
-
注意在進入sqlplus或者mysql中先要選擇要使用的數據庫,否則會出錯!這點MySQL bench做的不好,沒選擇數據庫就進行操作只會顯示
query interrupted
,也不說是出了什么問題。(當然這是在root用戶下,如果是一般用戶可能只有某個數據庫的權限(例如我學校賬戶的Oracle),登錄進去之后就只能修改這個數據庫下的內容。 -
查詢當前庫下的所有表:
select * from all_tables
;(適用於Oracle),show tables
(適用於MySQL) -
查看表結構:
describe [表名稱]
;(親測對於Oracle和MySQL都有效) -
對表進行修改:alter table xxx modify/add/drop [之后的操作視要執行的命令不同而不同]
增加一列:
alter table emp4 add test varchar2(10);
修改一列:
alter table emp4 modify test varchar2(20);
刪除一列:
alter table emp4 drop column test;
修改表的時候注意,MySQL里mdify之后是不加括號的,而Oracle要加:
-
/和run都可以再執行一遍上一條命令(這個功能只有Oracle的SQLPLUS有):
-
使用替代變量來優化數據(手動)插入過程:
如圖,只要輸入第一個框里的內容,然后每次都使用/或者run調用,就可以在每一次插入時都得到提示了,當然這種主要用於手動操作時使用
要弄清楚替代變量哪里寫什么才和表項一致,可以先用describe <table名>來檢查一遍
注意,如果輸入的表項是varchar類型的,則替代變量必須用引號括住
-
非sql語句,打不打;都可以,例如
describe <表名
,這個不加分號也是可以的