適合初學者的學習
常識:
1. DDL:數據定義語言,創建、修改、刪除一張表
2. 數據操縱語言,向一張表中進行增、刪、改(執行完命令要對執行提交操作)
3. DCL:數據控制語言,授權和撤銷權限
基礎知識:
- 命令行開啓監聽器:lsnrctl start
- 開啓事物:oradim -starup -sid orcl
- 鏈接用戶:sqlplus / as sysdba
創建用戶:
1.創建會話(session)權限給lisi用戶:
->grant create session to lisi;
2.創建建表(table)權限給lisi用戶:
->grant create table to lisi;
3.創建不受上線的表空間的使用權限給lisi用戶:
->grant unlimited tablespace to lisi;
4.撤銷創建會話權限(其他格式類似):
->revoke create table from lisi;
5.通過用戶視圖方式查看當前用戶有哪些權限:
->select * from user_sys_privs;
注意:
1、可以同時授予和撤銷權限:
->grant create table,unlimited tablespace to lisi;
2、當插入、更新、修改數據時候要用commit提交插入的數據
對象權限(誰擁有誰授權):
默認情況下:個人創建的用戶與用戶之間他們的表是完全隔離的,所以說它們之間是不能夠訪問的,通過授權可以改變對象之間的權限。但是sys用戶可以訪問任意用戶的表。(假設有lisi、wangwu兩用戶,表分爲:mytable、mytab)
1.在wangwu用戶中把它的mytab表的查詢權限給lisi用戶(插入、刪除…同樣意思):
->grant select on mytab to lisi;
2.在wangwu用戶中把它的mytab表的所有權限給lisi用戶:
->grant all on mytab to lisi;
3.在wangwu用戶中把它的mytab表的所有權限在lisi用戶全部撤銷:
->revoke all on mytab from lisi;
4.查看整個表有哪些權限(如果已經把權限精確到列那麼此數據字典就不起作用了):
->select * from user_tab_privs;
5.把權限定位到某一列來進行對象之間的授權(比如把wangwu用戶中的mytab表的name列的更新權限授權給lisi):
->grant update(name) on mytab to lisi;
6.當權限精確到列可以通過下面命令來查詢權限:
->select * from user_col_privs;
全局權限:
1.把一個用戶的所有表的創建權限授權給所有用戶:
->grant create any table to public;
2.把一個用戶的一個表的刪除權限給public (wangwu用戶中mytab表):
->grant delete mytab to public;