SQL基本語法—(檢視、資料庫安全與角色)
檢視
一、定義檢視
語法:
CREATE VIEW <檢視名> [(<列名> [,<列名>]…)] AS <子查詢>[WITH CHECK OPTION];
示例:
1、建立資訊系學生的檢視
createviewIS_View as select Sno,Sname,Ssex,Sage,Sdeptfrom StudentwhereSdept='資訊系';
2、建立資訊系學生的檢視,並要求透過該檢視進行的更新操作只涉及資訊系學生
create
3、建立資訊系選修了c01號課程的學生檢視
createviewIS_View (Sno,Sname,Grade)asselect Student.Sno,Sname,GradefromStudent,SCwhereSdept='資訊系'
andCno='c01'andStudent.Sno=SC.Sno
二、查詢檢視
示例:
1、在資訊系學生的檢視中找出年齡小於20歲的學生
selectSno,Sname,SagefromIS_Student where Sage<</span>20;
2、查詢資訊系選修了c01號課程的學生學號和姓名
select SC.Sno,SnamefromIS_Student,SCwhere IS_Student.Sno =SC.SnoandSC.Cno='c01';
三、更新檢視
示例:
1、將資訊系學生檢視IS_Student中學號95002的學生姓名改為“劉辰”
update IS_Student
或 updateStudentsetSname='劉辰'whereSno='95002'ANDSdept='資訊系';
2、向資訊系學生檢視IS_S中插入一個新的學生記錄:95029,趙新,20歲
insertintoIS_Student values('95029','趙新',20,'資訊系');
3、刪除檢視IS_Student 中學號為95029的記錄
deletefromIS_Student where Sno='95029';
或 deletefromStudentwhereSno='95029'ANDSdept='資訊系';
四、刪除檢視
語法:
DROP VIEW <檢視名>;
示例:
1、刪除檢視IS_View
dropviewIS_View;
注:組成檢視的屬性列名
I、省略:
由子查詢中SELECT目標列中的諸欄位組成
II、明確指定檢視的所有列名:
(1) 某個目標列是集函式或列表達式
(2) 目標列為 *
(3) 多表連線時選出了幾個同名列作為檢視的欄位
(4) 需要在檢視中為某個列啟用新的更合適的名字
資料安全性
一、授權
語法:
GRANT <許可權>[,<許可權>]...[ON <物件型別> <物件名>] TO <使用者>[,<使用者>]...[WITH GRANT OPTION];
示例:
1、把查詢Student表許可權授給使用者U1
grantselecton Student to u1;
2、把對Student表和Course表的全部許可權授予使用者U2和U3
grantallprivileges on Student,Coursetou2,u3;
3、把對錶SC的查詢許可權授予所有使用者
grantselecton SC to public;
4、把查詢Student表和修改學生學號的許可權授給使用者U4
grantselect,update(Sno)onStudent to u4;
5、把對錶SC的INSERT許可權授予U5使用者,並允許他再將此許可權授予其他使用者
grantinserton SC to u5 withgrant option;
二、收回
語法:
REVOKE <許可權>[,<許可權>]...[ON <物件型別> <物件名>] FROM <使用者>[,<使用者>]...;
示例:
1、把使用者U4修改學生學號的許可權收回
revoke update(Sno)onStudent from u4;
2、收回所有使用者對錶SC的查詢許可權
revokeselect)on SC frompublic;
3、把使用者U5對SC表的INSERT許可權收回
revokeinserton SC from u5;
資料庫角色
一、 角色的建立
語法:
CREATE ROLE <角色名>
示例:
1、建立一個角色 R1
createroleR1;
二、 給角色授權
語法:
GRANT <許可權>[,<許可權>]… ON <物件型別>物件名 TO <角色>[,<角色>] …
示例:
1、角色R1擁有Student表SELECT、UPDATE、INSERT權 限
grantselect,update,insertonStudent to R1;
三、將一個角色授予其他的角色或使用者
語法:
GRANT <角色1>[,<角色2>]… TO <角色3>[,<使用者1>]…[WITH ADMIN OPTION]
示例:
1、將角色R1授予王平,張明,趙玲
grantR1to 王平,張明,趙玲;
四、角色許可權的收回
語法:
REVOKE <許可權>[,<許可權>]…ON <物件型別> <物件名> FROM <角色>[,<角色>]…
示例:
1、通過R1來回收王平的這3個許可權
revokeR1from 王平;
附錄一:
查 詢 條 件 |
謂 詞 |
比 較 |
=,>,<</span>,>=,<=,!=,<>,!>,!<</span>;NOT+上述比較運算子 |
確定範圍 |
BETWEEN AND,NOT BETWEEN AND |
確定集合 |
IN,NOT IN |
字元匹配 |
LIKE,NOT LIKE |
空 值 |
IS NULL,IS NOT NULL |
多重條件(邏輯運算) |
AND,OR,NOT |
附錄二:
以上文章中將以學生-課程資料庫作為一個例子來講解SQL的資料定義、資料操作、資料查詢和資料控制語句的具體應用。
其資料表如下所示:
學生表:Student(Sno,Sname,Ssex,Sage,Sdept)
課程表:Course(Cno,Cname,Cpno,Ccredit)
學生選課表:SC(Sno,Cno,Grade)
Student
學 號 Sno |
姓 名 Sname |
性 別 Ssex |
年 齡 Sage |
所 在 系 Sdept |
200215121 200215122 200215123 200515125 |
李勇 劉晨 王敏 張立 |
男 女 女 男 |
20 19 18 19 |
CS CS MA IS |
Course
課程號 Cno |
課程名 Cname |
先行課 Cpno |
學分 Ccredit |
1 2 3 4 5 6 7 |
資料庫 數學 資訊系統 作業系統 資料結構 資料處理 PASCAL語言 |
5 1 6 7 6 |
4 2 4 3 4 2 4 |
SC
學 號 Sno |
課程號 Cno |
成績 Grade |
200215121 200215121 200215121 200215122 200215122 |
1 2 3 2 3 |
92 85 88 90 80 |
相關推薦
SQL基本語法—(檢視、資料庫安全與角色)
檢視 一、定義檢視 語法: CREATE VIEW <檢視名> [(<列名> [,<列名>]…)] AS <子查詢>[
Node.js的學習入門(一、module.exports與exports)
user clas ret class script say req 引用 ole /*User.js*/ exports.userName = ‘Tom‘; exports.sayHello = function () { return ‘wwwwww‘ } /
實戰Java高併發程式設計(五、並行模式與演算法)
5.1單例模式 單例模式:是一種常用的軟體設計模式,在它的核心結構中值包含一個被稱為單例的特殊類。一個類只有一個例項,即一個類只有一個物件例項。 對於系統中的某些類來說,只有一個例項很重要,例如,一個系統中可以存在多個列印任務,但是隻能有一個正在工作的任務;售票時,一共有100張票,可有有
陣列中的逆序對(分治、遞迴與合併)
在陣列中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一個逆序對。 輸入一個數組,求出這個陣列中的逆序對的總數P。 將P對1000000007取模的結果輸出。 即輸出P%1000000007 輸入描述: 題目保證輸入的陣列中沒有的相同的數字 資料範圍: 對
SpringMVC學習筆記(三、重定向與轉發)
SpringMVC中重定向與轉發通過return實現 重定向: return “redirect:/重定向頁面路徑” 轉發: return “forward:/轉發頁面路徑” 使用示例: @RequestMapping("/test2") pub
Hadoop 2.X管理與開發(二、資料壓縮與優化)
#Hadoop資料壓縮 資料壓縮 1)MR操作過程中進行大量資料傳輸,就需要對資料進行壓縮 2)壓縮技術能夠有效減少底層儲存(HDFS)讀寫位元組數,提高的網路頻寬和磁碟空間的效率 3)資料壓縮能夠有效節省資源 4)壓縮事MR程式的優化策略 5)通過壓縮編碼對
Storm學習記錄(二、分發策略與架構)
一、分發策略 Shuffle Grouping:隨機分組,隨機派發stream裡面的tuple,保證每個bolt task接收到的tuple數目大致相同。輪詢,平均分配 Fields Grouping:按欄位分組,比如,按"user-id"這個欄位來分組,那麼具有同樣"u
【機器學習】決策樹(三)——生成演算法(ID3、C4.5與CRAT)
回顧 前面我們介紹了決策樹的特徵選擇,以及根據資訊增益構建決策樹。 那麼決策樹的生成又有哪些經典演算法呢?本篇將主要介紹ID3的生成演算法,然後介紹C4.5中的生成演算法。最後簡單介紹CRAT演算法。 ID3演算法 前面我們提到,一般而言,資訊增
實現增刪改查(SpringBoot、MyBatis-Plus與Thymeleaf)
show me the code and talk to me,做的出來更要說的明白 我是布林bl,你的支援是我分享的動力! 1 引入 使用 MyBatis-Plus 以及 thymeleaf 實現增刪查改。效果圖在最後。 2 Mybatis-Plus MyBatis-Plus(簡稱 MP)是一個 MyB
Python入門教程--介紹、基本語法(二)
在上一篇文章中,我們介紹了Python的一些基本語法,現在我們繼續介紹剩下的Python基本語法。檢視上一篇文章請點選:https://www.cnblogs.com/dustman/p/9871938.html 字元運算子 字串連線就像對數字進行加減一樣,兩個字串也可以通過加號 + 進行連線產生新的字串
複習之JavaScript基本語法(一)——三種引入方式及load、write事件
JavaScript是什麼 JavaScript一種直譯式指令碼語言,是一種動態型別、弱型別、基於原型的語言,內建支援型別。它的直譯器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的指令碼語言。 JavaScript的作用 JavaScript
複習之JavaScript基本語法(五)——資料型別、json、date()、math()、迴圈函式
JavaScript資料型別 JavaScript是一個弱型別的語言,變數通過var生成沒有型別,但給它賦值有型別。 字串、數字、布林、陣列、物件、Null、Undefined Undefined代表變數沒有賦值。 數字型別包括整數和小數 布林型別:數字的話等
分享知識-快樂自己:Oracle基本語法(建立:表空間、使用者、授權、約束等)使用指南
--2.1)建立主鍵約束-- alter table Student add constraint PK_Student_StuId primary key(StuId); alter table StuClass add constraint PK_StuClass_ClassId primar
Mysql資料庫基本語法(一)
前記: 掌握Mysql的基本語法是非常重要的,小編為大家奉上Mysql基本語法第一篇。 正文: 一、資料庫的操作: 顯示所有的資料庫:
1、TCL指令碼基本語法(概要)
TCL常用基本語法 一個TCL指令碼可以包含一個或多個命令。命令之間必須用換行符或分號隔開。 第一個單詞代表命令名,另外的單詞則是這個命令的引數,用空格或TAB鍵隔開。 變數置換$。 命令置換[] 反斜槓置換\ ,例如set msg multiple\ space ,如果沒
sql server 儲存過程基本語法(轉)
1 一、定義變數 2 --簡單賦值 3 declare @a int 4 set @a=5 5 print @a 6 7 --使用select語句賦值 8 declare @user1 nvarchar(50) 9 select @user1='張三'
建立表空間、建立表(子查詢建立表)、表的約束、事務、資料庫物件(檢視、序列、索引、同義詞)、PLSQL程式設計、(if,迴圈)、資料的匯入匯出備份
DDL語句管理表 DML管理表資料 1)語法: 建立 和 刪除 表空間 / 建立使用者 create tablespace 表空間的名稱 datafile '檔案路徑' //這個檔案是儲存在伺服器端的電腦上的
Java千百問_03基本語法(001)_區域性變數、類變數、例項變數有什麼區別
區域性變數、類變數、例項變數有什麼區別 在聊區域性變數、類變數、例項變數有什麼區別之前,我們需要了解一下Java變數。 1、Java變數是什麼 在數學世界中,我們知道有常量、變數。 舉一個例
SAS學習︱邏輯庫、資料集建立與檢視、資料庫連結(SAS與R的code對照)
每每以為攀得眾山小,可、每每又切實來到起點,大牛們,緩緩腳步來俺筆記葩分享一下吧,please~———————————————————————————入門學習一週,開始寫學習筆記。用習慣R之後,發現SA
Java 基本語法----進制、運算符
忽略 如果 編譯 back 小寫 大小 false alt strong 進 制 對於整數,有四種表示方式: 二進制:0,1 ,滿 2 進 1.以 0b 或 0B 開頭。十進制:0-9 ,滿 10 進 1. 八進制:0-7 ,滿 8 進1. 以數字 0 開頭表示。十六進制