版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第 4 4 章章 結(jié)構(gòu)化查詢語言結(jié)構(gòu)化查詢語言SQLSQLSQL 語言之所以能夠?yàn)橛脩艉蜆I(yè)界所接受,并成為國際標(biāo)準(zhǔn),是因?yàn)樗且粋€綜合的、功能極強(qiáng)同時又簡捷易學(xué)的語言。SQL 語言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,主要特點(diǎn)包括:1.綜合統(tǒng)一2.高度非過程化3.面向集合的操作方式4.以同一種語法結(jié)構(gòu)提供兩種使用方式SQL 語言既是自含式語言,又是嵌入式語言。自含和嵌入的含義。4.14.1 數(shù)據(jù)庫模式的建立和刪除數(shù)據(jù)庫模式的建立和刪除.1 建立數(shù)據(jù)庫模式建立數(shù)據(jù)庫模式建立一個新數(shù)據(jù)庫create database 數(shù)據(jù)庫名.2 刪除數(shù)據(jù)庫模式刪除
2、數(shù)據(jù)庫模式撤消一個數(shù)據(jù)庫drop database 數(shù)據(jù)庫名4.24.2 表結(jié)構(gòu)的建立、修改和刪除表結(jié)構(gòu)的建立、修改和刪除4.14.1 建立表結(jié)構(gòu)建立表結(jié)構(gòu)SQL 語言使用 CREATE TABLE 語句定義基本表,其一般格式如下:CREATE TABLE (列級完整性約束,列級完整性約束,);如果完整性約束條件涉及到該表的多個屬性列,則必須定義在表級上,否則既可以定義在列級也可以定義在表級。注意:定義表時每一個定義語句之間用逗號分隔,最后一條語句不用逗號。每個 SQL 語句以分號結(jié)束。例:CREATE TABLE C(cno char(4) not null,cname char(10) n
3、ot null,PRIMARY KEY(CNO) );CREATE TABLE SC(SNO CHAR(4) NOT NULL,CNO CHAR(4) NOT NULL,GRADE SMALLINT,PRIMARY KEY(SNO,CNO) ,F(xiàn)OREIGN KEY(SNO) REFERENCES S(SNO) ,F(xiàn)OREIGN KEY(CNO) REFERENCES C(CNO) ) ;.2 修改表結(jié)構(gòu)修改表結(jié)構(gòu)修改基本表SQL 語言用 ALTER TABLE 語句修改基本表,其一般格式為:ALTER TABLE ADD 完整性約束DROP MODIFY ;ADD 子句用于增
4、加新列和新的完整性約束條件,DROP 子句用于刪除制定的完整性約束條件,MODIFY 子句用于修改原有的列定義,包括修改列名和數(shù)據(jù)類型。簡單介紹教材上的例子。.3 刪除表結(jié)構(gòu)刪除表結(jié)構(gòu)當(dāng)某個基本表不再需要時,可以用 DROP TABLE 刪除,其格式為:DROP TABLE 基本表一旦刪除,表中的數(shù)據(jù)、此表上建立的索引和視圖都將自動被刪除掉。因此執(zhí)行刪除基本表的操作一定要格外小心。4.34.3 表內(nèi)容的插入、修改和刪除表內(nèi)容的插入、修改和刪除.1 插入記錄插入記錄命令insert into 表名 (列名,列名values (值 ,值)插入一條指定好值的元組ins
5、ert into 表名 (列名,列名(子查詢)插入子查詢結(jié)果中的若干條元組示例 insert into PROF values ( P123, “王明”, 35, D08, 498 ) insert into PROF (PNO, PNAME, DNO)values ( P123, “王明”, D08 ).2 修改操作修改操作命令update 表名 set 列名 = 表達(dá)式 | 子查詢 列名 = ,表達(dá)式 | 子查詢where 條件表達(dá)式指定對哪些列進(jìn)行更新,以及更新后的值是什么示例 老師工資上調(diào) 5%update PROFset SAL = SAL * 1.054.3.34.
6、3.3 刪除記錄刪除記錄命令delete from 表名 where 條件表達(dá)式從表中刪除符合條件的元組,如果沒有 where 語句,則刪除所有元組示例 清除所有選課記錄delete from SC 刪除王明老師所有的任課記錄delete from PCwhere PNO in (select PNO from PROF where PNAME = “王明”) 4.44.4 視圖的建立、修改和刪除視圖的建立、修改和刪除.1 建立視圖建立視圖定義視圖create view view_name(列名,列名 ) as (查詢表達(dá)式)with check option 視圖的屬性名缺省
7、為子查詢結(jié)果中的屬性名,也可以顯式指明 with check option 指明當(dāng)對視圖進(jìn)行 insert,update 時,要檢查是否滿足視圖定義中的條件.2 修改視圖內(nèi)容修改視圖內(nèi)容UPDATE .SET=,.FROM,.WHERE.2 修改視圖定義修改視圖定義 ALTER VIEW (,.)AS .4 刪除視圖刪除視圖撤消視圖drop view view_name4.54.5查詢查詢.1 SELECTSELECT 語句格式語句格式 SELECT ALL|DISTINCT , FROM , WHERE GROUP BY HAV
8、ING ORDER BY ASC|DESC;整個 SELECT 語句的含義是,根據(jù) WHERE 子句的條件表達(dá)式,從FROM 子句指定的基本表或視圖中找出滿足條件的元組,再按 SELECT子句中的目標(biāo)列表達(dá)式,選出元組中的屬性值形成結(jié)果表。如果有GROUP 子句,則將結(jié)果按的值進(jìn)行分組,該屬性列值相等的元組為一組。通常會在每組中作用集函數(shù)。如果 GROUP 子句帶HAVING 短語,則只有滿足指定條件的組才予輸出。如果有 ORDER BY子句,則結(jié)果表還要按的值的升序或降序排序。.2 SELECTSELECT 選項(xiàng)選項(xiàng)目標(biāo)列形式 可以為列名,* ,算術(shù)表達(dá)式,聚集函數(shù) “* *”
9、:表示“所有的屬性”給出所有老師的信息SELECTSELECT *FROMFROMPROF 帶, , 的算術(shù)表達(dá)式給出所有老師的姓名及稅后工資額SELECTSELECT PNAME,SAL 0.95FROMFROM PROF語法約束 缺省為保留重復(fù)元組,也可用關(guān)鍵字 ALLALL 顯式指明。若要去掉重復(fù)元組,可用關(guān)鍵字 DISTINCTDISTINCT 或 UNIQUEUNIQUE 指明示例 找出所有選修課程的學(xué)生 SELECTSELECT DISTINCTDISTINCT SNO FROMFROM SC.3FROMFROM 選項(xiàng)選項(xiàng)說明 FROM 子句列出查詢的對象表 當(dāng)目標(biāo)
10、列取自多個表時,在不混淆的情況下可以不用顯式指明來自哪個關(guān)系示例 例:找出工資低于 500 的職工的姓名、工資、系別 SELECTPNAME , SAL , DNAME FROM PROF , DEPT WHERE SAL 500 AND PROF.DNO = DEPT.DNO 例:列出教授“哲學(xué)”課程的老師的教工號及姓名 SELECT PROF. PNO , PNAME FROM PROF , PC , COURSE WHERE PROF.PNO = PC.PNOAND PC.CNO = COURSE.CNOAND COURSE.CNAME = “哲學(xué)”.4 選項(xiàng)選項(xiàng)語法成分
11、比較運(yùn)算符、 、=、 邏輯運(yùn)算符AND,OR,NOTBETWEEN 條件判斷表達(dá)式的值是否在某范圍內(nèi)示例 列出工資在 500800 之間的老師姓名 SELECT PNAME FROM PROF WHERE SAL BETWEEN 500 AND 800.5 BROUPBROUP BYBY 選項(xiàng)選項(xiàng)命令ORDER BY 列名 ASC | DESC示例 按系名升序列出老師姓名,所在系名,同一系中老師按姓名降序排列 SELECT DNAME,PNAME FROM PROF,DEPT WHERE PROF.DNO = DEPT.DNO ORDER BY DNAME ASC,PNAME
12、DESC.6 HAVINGHAVING 選項(xiàng)選項(xiàng)分組命令GROUP BY 列名 HAVING 條件表達(dá)式 GROUP BY 將表中的元組按指定列上值相等的原則分組,然后在每一分組上使用聚集函數(shù),得到單一值HAVING 則對分組進(jìn)行選擇,只將聚集函數(shù)作用到滿足條件的分組上.7 ORDERORDER BYBY 選項(xiàng)選項(xiàng)ORDER BY ASC|DESC;.8 INTOINTO 選項(xiàng)選項(xiàng)SELECT 語句中使用 INTO 選項(xiàng)可以將查詢結(jié)果寫進(jìn)新表,新表結(jié)構(gòu)與 SELECT 語句選擇列表中的字段相同。例如:SELECT FIELDS AS KEYSTRING, COUNT(FIELDS) AS HITCOUNTINTO #TEMP/*INTO*/FROM ENGLISHBOOKS.KEYS WHERE( KEYS LIKE %魯迅% )ANDFRM LIKE 24_*AAND (
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版九年級物理 14.2熱機(jī)的效率(學(xué)習(xí)、上課課件)
- 緊固件 六角頭螺桿帶孔螺栓 第3部分:細(xì)牙螺紋螺栓 編制說明
- 福建省志愿服務(wù)網(wǎng)fjvsorg
- 舞臺作文議論文
- 山東省臨沂市臨沭縣曹莊鎮(zhèn)中心小學(xué)2023-2024學(xué)年一年級上學(xué)期月考數(shù)學(xué)試卷(10月份)
- 黃岡市英山縣2025屆數(shù)學(xué)六上期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 吉安市2024-2025學(xué)年數(shù)學(xué)六上期末達(dá)標(biāo)檢測試題含解析
- 福建省百校2024-2025學(xué)年高三上學(xué)期10月測評生物試題
- 人力資源政策對教育行業(yè)教師流失率影響的研究
- 幼兒園走進(jìn)小學(xué)活動總結(jié)
- 2021-2022學(xué)年部編版語文七年級下冊第二單元主題綜合實(shí)踐作業(yè)——家國情懷
- (完整版)人教版四年級語文下冊課外閱讀大匯總
- 恐龍知識介紹科普知識PPT課件
- 水資源評價與管理課程設(shè)計(jì)
- 應(yīng)急逃生與急救安全知識培訓(xùn)
- 奇門遁甲股票預(yù)測思路
- 自動分板機(jī)操作指導(dǎo)書
- 第五章球團(tuán)生產(chǎn)工藝PPT課件
- 乒乓球館規(guī)章制度
- 收款收據(jù)模板電子版
- 城市綜合管廊專項(xiàng)施工方案(完整版)
評論
0/150
提交評論