Oracle有很多值得學習的地方,這裡我們主要介紹Oracle SQL語言,包括介紹Plus等方面。在OEM(Oracle Enterprise Manager)可視化的窗口環境中,雖然我們也可以很方便地做這些事,但是事實上,用Oracle SQL語言書寫在開發上更有效率!!Oracle提供的 SQL*Plus就是個不錯的工具,如果大家喜歡窗口的開發環境,用SQLPlus Worksheet也行!下面說點基本的東西!
SQL(Structure Query Language)語言是結構化查詢語言,是數據庫的核心語言,是面向集合的描述性非過程化語言。Oracle SQL語言共分為四大類:數據查詢語言DQL,數據操縱語言DML,數據定義語言DDL,數據庫控制語言DCL。
1.數據查詢語言DQL的基本結構是由select子句,from子句,where子句組成的查詢塊:
select <字段名表> from <表或視圖名> where <查詢條件>
2.數據操縱語言DML完成在數據庫中確定、修改、添加、刪除某一數據值的任務(以下是部分常用DML語句):
insert:增加數據行到表
delete:從表中刪除數據行
Update:更改表中數據
3.數據定義語言DDL完成定義數據庫的結構,包括數據庫本身、數據表、目錄、視圖等數據庫元素(以下是部分常用DDL語句)
create table:創建表
create index:創建索引
create vIEw:創建視圖
alter table:增加表列,重定義表列,更改存儲分配
drop table:刪除表
drop index:刪除索引
4.數據庫控制語言DCL用來授予或回收訪問數據庫的某種特權,並控制數據庫操縱事務發生的時間及效果,對數據庫實行監視等。如:
grant:將權限或角色授予用戶或其它角色
revoke:回收用戶權限
roll:回滾,是當某個對話更改了數據庫中的數據後,由於某種原因用戶不想提交此更改時,Oracle所采取的保護操作。這是一個把信息恢復到用戶使update、insert、delete前最後提交的狀態。
commit:提交。在完成數據庫的插入,刪除和修改操作時,只有當事務提交到數據庫才算完成,有提交前只有操作數據庫的本人才能看到,別人只有在最後提交完成才可以看到。以上是四種Oracle SQL語言。
接下來,我們在SQL*Plus中實戰一下,為我們下面將要做的打好基礎。用system登陸到SQL*Plus後,我們做如下操作:
- SQL>create user maxuan identifIEd by max; #創建口令為max的用戶maxuan
- SQL>grant connect,resource to maxuan; #為用戶maxuan授權
- SQL>conn maxuan/max; #以用戶maxuan進行連接
- SQL>create table test(a number); #建立一個名為test的表,只有字段名為A的一列,數據類型為數字
- SQL>insert into test values(1); #插入一條記錄
- SQL>select * from test; #查詢記錄,此時A列的第一行為1
- SQL>update test set a=2; #更改記錄,此時A列的第一行已改為2
- SQL>commit; #提交
- SQL>delete from test; #刪除test表中所有的記錄,此時test表中沒有記錄
- SQL>roll; #回滾到提交前,此時再查詢test表,A列第一行值又回復到2