版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第4章結(jié)構(gòu)化查詢語言SQL重點概念:SQL的特點SQL的數(shù)據(jù)定義SQL的數(shù)據(jù)查詢SQL的數(shù)據(jù)操縱SQL的數(shù)據(jù)控制14.1 SQL概述一、SQL語言: SQL(Structured Query Language結(jié)構(gòu)化查詢語言)是一種介于關系代數(shù)與關系演算之間的語言,其功能包括查詢、操縱、定義和控制4個方面。是一種通用的、功能強大的關系數(shù)據(jù)庫語言。目前已經(jīng)成為關系數(shù)據(jù)庫的標準語言。大多數(shù)數(shù)據(jù)庫均用SQL作為共同數(shù)據(jù)存取語言和標準接口,從而使不同數(shù)據(jù)庫系統(tǒng)之間的相互操作有了共同的基礎。24.1 SQL概述 SQL語言結(jié)構(gòu)簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言得到了
2、廣泛的應用。如今無論是像Oracle、Sybase、Informix、SQL server這些大型的數(shù)據(jù)庫管理系統(tǒng),還是像Visual Foxpro、PowerBuilder、Access等這些PC上常用的數(shù)據(jù)庫開發(fā)系統(tǒng),都支持SQL語言作為查詢語言。 34.1 SQL概述 二、 SQL的特點 SQL語言類似于英語的自然語言,簡潔易用 SQL語言是一種非過程語言,即用戶只要提出“做什么”即可,不必管具體操作過程,也不必了解數(shù)據(jù)的存取路徑,只要指明所需數(shù)據(jù)即可。 SQL語言是一種面向集合的語言,每個命令的操作對象是一個或多個關系,結(jié)果也是一個關系。SQL語言既是自含式語言,又是嵌入式語言。可獨立
3、使用,也可嵌入到宿主語言中。自含式語言可以獨立使用交互命令,適用于終端用戶、應用程序員和DBA。嵌入式語言使其嵌入在高級語言中使用,供應用程序員開發(fā)應用程序。SQL語言具有:數(shù)據(jù)查詢、數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制四種語言一體化的功能。4三、SQL語言兩個基本概念:基本表和視圖。基本表(BASE TABLE):是獨立存在的表,不是由其它的表導出的表。一個關系對應一個基本表,一個或多個基本表對應一個存儲文件。視圖(VIEW):是一個虛擬的表,是從一個或幾個基本表導出的表。它本身不獨立存在于數(shù)據(jù)庫中,數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應的數(shù)據(jù),這些數(shù)據(jù)仍存放在導出視圖的基本表中。當基本表中的數(shù)據(jù)
4、發(fā)生變化時,從視圖中查詢出來的數(shù)據(jù)也隨之改變。4.1 SQL概述5SQL語言支持關系數(shù)據(jù)庫的三級模式結(jié)構(gòu):外模式:視圖和部分基本表模式:數(shù)據(jù)庫中所有的基本表內(nèi)模式:存儲文件SQL視圖1視圖2基本表1基本表2基本表3基本表4存儲文件1存儲文件2外模式模式內(nèi)模式4.1 SQL概述6四、SQL基本語句:SQL基本功能動詞數(shù)據(jù)定義CREATE,DROP,ALTER數(shù)據(jù)查詢SELECT數(shù)據(jù)操縱INSERT,UPDATE,DELETE數(shù)據(jù)控制GRANT,REVOTE注意:ACCESS不直接支持SQL的數(shù)據(jù)定義和視圖,也不直接支持SQL的授權控制。這些操作通過VBA代碼利用DAO(數(shù)據(jù)訪問對象)進行。4.1
5、 SQL概述7數(shù)據(jù)定義語言(Data Definition Language)Create、Drop、Alter定義一組關系(基本表)、說明各關系的信息各關系的模式各屬性的值域完整性約束索引安全性和權限4.2 SQL數(shù)據(jù)定義8一、創(chuàng)建與刪除數(shù)據(jù)庫1、數(shù)據(jù)庫的創(chuàng)建創(chuàng)建數(shù)據(jù)庫的語句格式為:CREATE DATABASE AUTHORIZATION ;例如,CREATE DATABASE ST-COURSE AUTHORIZATION 王非;4.2 SQL數(shù)據(jù)定義92、數(shù)據(jù)庫的刪除DROP DATABASE CASCADE/RESTRICT;刪除的方式有兩種:CASCADE(連鎖式)方式:執(zhí)行DRO
6、P時,將SQL模式及下屬的基本表、視圖、索引等元素全部刪除。RESTRICT(約束式)方式:執(zhí)行DROP時,僅當SQL模式中沒有任何下屬元素時,才能刪除,否則拒絕執(zhí)行DROP命令。4.2 SQL數(shù)據(jù)定義10二、基本表1、創(chuàng)建基本表CREATE TABLE (列級完整性約束條件,列級完整性約束條件,); 是基本表的名字,可由一個或多個屬性組成。建表的同時可以定義與該表有關的完整性約束條件。如果完整性約束條件涉及到該表的多個屬性列,則必須定義在表級上,否則即可以定義在列級,也可以定義在表級。4.2 SQL數(shù)據(jù)定義11一般都支持的數(shù)據(jù)類型:CHAR(n):字符串,長度為n個西文字符。INTEGER或
7、INT:全字長整數(shù),范圍從負10位整數(shù)到正ll位整數(shù)。 SMALLINT:半字長整數(shù),范圍從一99999到999999。 DECIMAL(x,y):十進制數(shù),包括小數(shù)點及符號位共x位,其中y位小數(shù)。 FLOAT(x,y):雙字長浮點數(shù),范圍從o1e一307到o9e十308 以指數(shù)形式表DATE:日期型,格式為YYYY-MM-DD。4.2 SQL數(shù)據(jù)定義124.2 SQL數(shù)據(jù)定義例1 建立一個“借出信息”表,它由“資產(chǎn)編號”、“借用人”、“出借人”、“批復人”、“出借日期”、“借用理由”6個屬性組成,其中“資產(chǎn)編號”屬性不能為空,并且其值是唯一的。CREATE TABLE 借出信息(資產(chǎn)編號 C
8、HAR(5) NOT NULL UNIQUE,借用人 CHAR(8),出借人 CHAR(2),批復人 INT,出借日期 DATE,借用理由 CHAR(15);134.2 SQL數(shù)據(jù)定義2、刪除基本表 當某個基本表不再使用時,可用DROP TABLE命令進行刪除,其格式為:DROP TABEL ;例2 刪除“借出信息”表。 DROP TABLE 借出信息; 基本表一旦刪除,表中的數(shù)據(jù)和在此表上建立的索引都將自動被刪除掉,而建立在此表上的視圖雖然仍然保留,但已無法引用。因此執(zhí)行刪除操作一定要格外小心。144.2 SQL數(shù)據(jù)定義3、修改基本表 隨著應用環(huán)境和應用需求的變化,有時需要修改已建立好的基本
9、表,包括增加新列、增加新的完整性約束條件、修改原有的列定義或刪除已有的完整性約束條件等。修改基本表的命令為ALTER TABLE,其格式為: ALTER TABLE ADD完整性約束 DROP MODIFY;154.2 SQL數(shù)據(jù)定義例3 向借出信息表增加擬還日期列,數(shù)據(jù)類型為日期型。ALTER TABLE借出信息ADD 擬還日期 DATE;例4 將借出信息表中資產(chǎn)編號數(shù)據(jù)類型改為半字長整數(shù)。ALTER TABLE借出信息MODIFY 資產(chǎn)編號 SMALLINT;例5 刪除借出信息表中資產(chǎn)編號必須取值唯一的約束。ALTER TABLE借出信息DROP UNIQUE(資產(chǎn)編號);164.2 SQ
10、L數(shù)據(jù)定義三、索引 建立索引是加快表的查詢速度的有效手段。當我們需要在一本書中查找某些信息時,往往首先通過目錄找到所需信息的對應頁碼,然后再從該頁碼中找出所要的信息,這種做法比直接翻閱書的內(nèi)容速度要快。如果把數(shù)據(jù)庫表比作一本書,那么表的索引就是這本書的目錄,可見通過索引可以大大加快表的查詢。 在基本表上可以建立一個或多個索引,以提供多種存取路徑,加快查找速度。一般來說,建立與刪除索引由數(shù)據(jù)庫管理員(DBA)或表的屬主(即建立表的人)負責完成。系統(tǒng)在存取數(shù)據(jù)時會自動選擇合適的索引作為存取路徑,用戶不必也不能選擇索引。174.2 SQL數(shù)據(jù)定義 1建立索引建立索引使用CREATE INDEX命令,
11、格式為:CREATEUNIQUECLUSTERINDEXON(, ) 其中指定要建索引的基本表的名字。索引可以建立在該表的一列或多列上,各列名之間用逗號分隔。每個后面還可以用指定索引值的排列次序,包括ASC(升序)和DESC(降序)兩種,缺省值為ASC。 UNIQUE表示索引中的每一個索引值只對應唯一的數(shù)據(jù)記錄。 CLUSTERE表示要建立的索引是聚簇索引。184.2 SQL數(shù)據(jù)定義 例6 為“固定資產(chǎn)管理系統(tǒng)”數(shù)據(jù)庫中的“資產(chǎn)信息”、“借出信息”、“系統(tǒng)用戶”3個表建立索引。其中“資產(chǎn)信息”表按“資產(chǎn)編號”升序建立唯一索引,“借出信息”表按“資產(chǎn)編號”建立唯一索引,“系統(tǒng)用戶”表按“用戶ID
12、”升序建唯一索引。 CREATE UNIQUE INDEX 資產(chǎn)編號1 ON 資產(chǎn)信息(資產(chǎn)編號); CREATE UNIQUE INDEX 資產(chǎn)編號2 ON 借出信息(資產(chǎn)編號); CREATE UNIQUE INDEX 用戶ID ON 系統(tǒng)用戶(用戶ID ASC);194.2 SQL數(shù)據(jù)定義2刪除索引 索引一經(jīng)建立,就由系統(tǒng)使用和維護它,不需要用戶干預。建立索引是為了減少查詢操作的時間,但如果數(shù)據(jù)增刪改頻繁,系統(tǒng)就會花費許多時間來維護索引。這時,可以刪除一些不必要的索引。刪除索引使用DROP INDEX命令,其格式為:DROP INDEX ;例7 刪除“借出信息”表中的“資產(chǎn)編號2”索引。
13、 DROP INDEX 資產(chǎn)編號2; 注:刪除索引時,系統(tǒng)會同時從數(shù)據(jù)字典中刪去有關該索引的描述。 204.2 SQL數(shù)據(jù)定義四、視圖 視圖是從一個基本表或幾個基本表或視圖導出的表,它與基本表不同,是一個虛表。換句話說,數(shù)據(jù)庫中只存放視圖的定義,而不存放視圖對應的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的基本表中。基本表中的數(shù)據(jù)發(fā)生變化,從視圖中查詢出的數(shù)據(jù)也就隨之改變了。從這個意義上講,視圖就像一個窗口,透過它可以看到數(shù)據(jù)庫中自己感興趣的數(shù)據(jù)及其變化。 視圖一經(jīng)定義,就可以和基本表一樣被查詢、被刪除,也可以在一個視圖之上再定義新的視圖,但對視圖的更新(增、刪、改)操作則有一定的限制。 214.2 SQL數(shù)
14、據(jù)定義 1定義視圖的命令格式為: CREATE VIEW , AS 子查詢 WITH CHECK OPTION; 例1 建立管理工程系的讀者視圖 CREATE VIEW GLREADER AS SELECT 姓名,性別,職稱,地址 FROM 讀者 WHERE 單位=管理工程系 WITH CHECK OPTION;224.2 SQL數(shù)據(jù)定義例2 建立各個單位當前借閱圖書情況的簡單統(tǒng)計視圖,名稱為DW-READER。 CREATE VIEW DW-READER(單位,借閱人次) AS SELECT 單位,COUNT(總編號) FROM 借閱,讀者 WHERE 讀者.借書證號=借閱.借書證號234.
15、2 SQL數(shù)據(jù)定義 2刪除視圖 該語句的格式為:DROP VIEW 視圖名例3 刪除視圖DWREADER DROP VIEW DWREADER 視圖建好后,若導出此視圖的基本表被刪除了,該視圖將失效,但一般不會被自動刪除。 一個視圖被刪除后,由該視圖導出的其它視圖也將失效,用戶應該使用DROP VIEW語句將它們一一刪除。 244.2 SQL數(shù)據(jù)定義3視圖的查詢 視圖定義后,用戶就可以像對基本表進行查詢一樣對視圖進行查詢了。DBMS執(zhí)行對視圖的查詢時,首先進行有效性檢查,檢查查詢涉及的表、視圖等是否在數(shù)據(jù)庫中存在,如果存在,則從數(shù)據(jù)庫字典中取出查詢涉及的視圖的定義,把定義中的子查詢和用戶對視圖
16、的查詢結(jié)合起來,轉(zhuǎn)換成對基本表的查詢,然后再執(zhí)行這個經(jīng)過修正的查詢。 將對視圖的查詢轉(zhuǎn)換為對基本表的查詢的過程稱為視圖的消解。254.2 SQL數(shù)據(jù)定義例4 找出管理系的所有女職工姓名和地址信息。 SELECT 姓名,地址FROM GL-READER WHERE 性別=女; DBMS執(zhí)行此查詢時,將其與GL-READER視圖中的子查詢 SELECT 姓名,性別,職稱,地址FROM 讀者 WHERE 單位=管理工程系 結(jié)合起來,轉(zhuǎn)換成對基本表借閱和讀者的查詢SELECT 姓名,地址FROM 讀者WHERE 單位=管理工程系 AND性別=女264.2 SQL數(shù)據(jù)定義4更新視圖 更新視圖包括插入(I
17、NSERT)、刪除(DELETE)和修改(UPDATE)三類操作。 由于視圖是不實際存儲數(shù)據(jù)的虛表,因此對視圖的更新、最終要轉(zhuǎn)換為對基本表的更新。 例5 將管理系的女職工的地址改為校內(nèi)。 UPDATE GLREADER SET 地址=校內(nèi) WHERE 性別=女; 轉(zhuǎn)換后的更新語句為 UPDATE讀者 SET 地址=校內(nèi) WHERE 單位=管理工程系 AND性別=女;274.3 SQL數(shù)據(jù)操縱一、SELECT查詢語句 數(shù)據(jù)庫查詢是數(shù)據(jù)庫的核心操作,SQL語言提供了SELECT語句進行數(shù)據(jù)庫的查詢。 SELECT語句如何實現(xiàn)三種專門的關系運算:投影、選擇、連接。284.3 SQL數(shù)據(jù)操縱SELEC
18、T的基本語法SELECT ALL/DISTINCT,目標列表表達式FROM,表名或視圖名WHEREGROUP BYHAINGORDER BY ASC/DESC注意:表示在實際的語句中要采用所需內(nèi)容進行代替 表示可以根據(jù)需要進行選擇,也可以不選 表示必須選項294.3 SQL數(shù)據(jù)操縱SELECT說明 為了從海量數(shù)據(jù)中篩選出我們感興趣的數(shù)據(jù),我們必須有一定過程,這一過程描述如下:從哪些數(shù)據(jù)源中選擇數(shù)據(jù)。由from后面跟隨的表名指定。連接運算選擇出滿足哪些條件的紀錄。由where后條件語句決定。選擇運算顯示數(shù)據(jù)中的哪些字段。由select后的字段列表決定,用*號表示數(shù)據(jù)中的所有字段,并且可對數(shù)據(jù)進行
19、匯總計算。投影運算是否要對數(shù)據(jù)分組,按什么字段分組。由group by后的字段列表決定。顯示數(shù)據(jù)是否要排序,按哪些字段如何排序。由order by后的字段列表決定。ASC升序,DESC降序,默認為升序。304.3 SQL數(shù)據(jù)操縱 WHERE子句的條件表達式可以使用下列運算符: 比較運算符: =、=、BETWEEN 邏輯運算符AND、OR、NOT 集合元素包含運算符IN、NOT IN 存在量詞EXISTS(SELECT子查詢) 集合運算符 UNION(并)、MINUS(差)、INTERSECTION(交) 通配符LIKE_、LIKE %314.3 SQL數(shù)據(jù)操縱1簡單查詢例1 找出資產(chǎn)編號為00
20、3的名稱及價格。SELECT 資產(chǎn)名稱,購買價格FROM 資產(chǎn)信息WHERE 資產(chǎn)編號=003;例2 查看所有借出信息的全部情況。SELECT *FROM 借出信息;例3 列出借出信息中的所有擬還日期。SELECT DISTINCT 擬還日期FROM 借出信息;324.3 SQL數(shù)據(jù)操縱例4 查找資產(chǎn)信息表中所有資產(chǎn)狀態(tài)為報廢的產(chǎn)品的產(chǎn)品名稱及購買價格,結(jié)果按單價降序排列。SELECT 資產(chǎn)名稱,購買價格 FROM 資產(chǎn)信息WHERE 資產(chǎn)狀態(tài)=報廢 ORDER BY 購買價格 DESC;例5 查找購買價格在1000元和5000元之間的資產(chǎn)名稱及編號,結(jié)果按編號升序、價格降序排列。SELECT
21、 資產(chǎn)編號,資產(chǎn)名稱,購買價格FROM 資產(chǎn)信息WHERE 購買價格 BETWEEN 1000 AND 5000ORDER BY 資產(chǎn)編號ASC ,購買價格DESC ;334.3 SQL數(shù)據(jù)操縱例6 查找資產(chǎn)狀態(tài)庫中和出借中的所有資產(chǎn)名稱及編號。SELECT 資產(chǎn)編號,資產(chǎn)名稱,資產(chǎn)狀態(tài)FROM 資產(chǎn)信息WHERE 資產(chǎn)狀態(tài) IN(在庫中 ,出借中);例7 查找資產(chǎn)編號以“TH”打頭的所有名稱及存放位置。SELECT 資產(chǎn)編號,存放位置FROM 資產(chǎn)信息WHERE 資產(chǎn)編號 LIKETH%;344.3 SQL數(shù)據(jù)操縱例8 檢索借用人和出借人是同一個人的名單。SELECT X.借用人FROM 借
22、出信息X,借出信息YWHERE X. 借用人=Y.出借人 由于同一個關系在一個查詢模塊中出現(xiàn)兩次,必須引入別名X、Y,并在SELECT和WHERE子句中用別名加以限定354.3 SQL數(shù)據(jù)操縱2聯(lián)接查詢 例9 查找所有借閱了圖書的讀者姓名及所在單位。SELECT DISTINCT 姓名,單位FROM 讀者,借閱WHERE 讀者.借書證號=借閱.借書證號;例10 找出李晶所借的所有圖書的書名及借閱日期。SELECT 姓名,所借圖書:,書名,借閱日期FROM 圖書,借閱,讀者WHERE 讀者.借書證號=借閱.借書證號 AND 借閱.總編號=圖書.總編號AND 姓名=李晶;364.3 SQL數(shù)據(jù)操縱
23、例11 查找價格在20元以上已借出的圖書,結(jié)果按單價降序排列。SELECT *FROM 圖書,借閱WHERE 圖書.總編號=借閱.總編號 AND 單價=20ORDER BY 單價 DESC;374.3 SQL數(shù)據(jù)操縱3嵌套查詢 例12 找出借閱“C語言程序設計”的讀者姓名及所在單位。SELECT 姓名,單位FROM 讀者,借閱,圖書WHERE 讀者.借書證號=借閱.借書證號 AND 借閱.總編號=圖書.總編號 AND 書名=C語言程序設計;384.3 SQL數(shù)據(jù)操縱例13 找出讀者的姓名、所在單位、他們與王鳴一在同一天借了書。SELECT 姓名, 單位,借閱日期FROM 讀者,借閱WHERE
24、借閱.借書證號=讀者.借書證號 AND 借閱日期 IN(SELECT 借書日期 FROM 借閱,讀者 WHWRE 借閱.借書證號=借書證號 AND 姓名=王鳴一)394.3 SQL數(shù)據(jù)操縱例14 找出藏書中比高教出版社所有圖書單價更高書籍。SELECT * FROM 圖書 WHERE 單價ALL(SELECT DISTINCT單價 FROM 圖書WHERE 出版單位=高等教育出版社);例15 找出藏書中所有與數(shù)據(jù)庫導論或數(shù)據(jù)庫原理在同一個出版單位出版的書。SELECT * FROM 圖書 WHERE 出版單位=ANY(SELECT 出版單位 FROM 圖書WHERE 書名 IN (數(shù)據(jù)庫導論,
25、數(shù)據(jù)庫原理);404.3 SQL數(shù)據(jù)操縱4使用庫函數(shù)查詢SQL的庫函數(shù)有:計算函數(shù) COUNT(*)計算元組的個數(shù); COUNT對列的值計算個數(shù);求和SUM對某一列的值求和;求平均值AVG對某一列的值求平均值;求最大值MAX找出一列值中的最大值;求最小值MIN找出一列值中的最小值。414.3 SQL數(shù)據(jù)操縱例17 求科學出版社圖書的最高、最低和平均價格。SELECT 最高:,MAX(單價),最低:, MIN(單價),平均:,AVG(單價)FROM 圖書 WHERE 出版單位=科學出版社;例18 求計算機科學系當前借閱了圖書的讀者人數(shù)。SELECT 借書人數(shù):,COUNT(DISTINCT 借書
26、證號) FROM 借閱 WHERE 借書證號 IN(SELECT 借書證號 FROM 讀者WHERE 單位=計算機科學系);424.3 SQL數(shù)據(jù)操縱例19 用庫函數(shù)查詢例14的詢問。找出藏書中比高等教育出版社的所有圖書單價更高的書籍。SELECT * FROM 圖書 WHERE 單價(SELECT MAX(單價) FROM 讀者WHERE 單位=高等教育出版社);例20 求出各個出版社圖書的最高、最低和平均價格。SELECT 出版單位,MAX(單價),MIN(單價),AVG(單價)FROM 圖書 GROUP BY 出版單位;434.3 SQL數(shù)據(jù)操縱例21 分別找出各個單位當前借閱圖書的讀者
27、人次。SELECT 單位,借書人次:,COUNT(借書證號)FROM 借閱,讀者WHERE 讀者.借書證號=借閱.借書證號 GROUP BY 單位;例22 找出藏書中各個出版單位的冊數(shù)、價值總額, 并按總價降序,總價相同者按冊數(shù)降序排列。SELECT 出版單位,冊數(shù):,COUNT(*),總價:,SUM(單價)FROM 圖書 GROUP BY 出版單位 ORDER BY SUM(單價),COUNT(*) DESC; 444.3 SQL數(shù)據(jù)操縱例23 找出當前至少借閱了5本圖書的讀者及所在單位。SELECT 姓名,單位 FROM 讀者 WHERE 借書證號 IN (SELECT 借書證號 FROM
28、 借閱GROUP BY 借書證號 HAVINT COUNT(*)=5);例24 分別找出借書人數(shù)超過10個人的單位及人數(shù)。SELECT 單位,借書人數(shù):,COUNT(DISTINCT 借書證號)FROM 借閱,讀者WHERE 讀者.借書證號=借閱.借書證號GROUP BY 單位 HAVINT COUNT(DISTINCT 借書證號)10;454.3 SQL數(shù)據(jù)操縱例25 找出沒有借閱任何圖書的讀者及所在單位。SELECT 姓名,單位FROM 讀者WHERE NOT EXISTS (SELECT * FROM 借閱 WHERE 借閱.借書證號=讀者.借書證號);464.3 SQL數(shù)據(jù)操縱5集合運
29、算 例26 有一個校友通信錄關系,包含姓名、職稱和單位屬性,相應的數(shù)據(jù)定義與讀者關系一致。求校友與讀者中具有教授、副教授職稱人員的并集。SELECT 姓名,職稱,單位FROM 讀者WHERE 職稱 IN (教授,副教授)UNIONSELECT 姓名,職稱,單位FROM 校友 WHERE 職稱 IN(教授,副教授);474.3 SQL數(shù)據(jù)操縱二、插入 1插入單個元組 insert into (,,) values(,)例1 向圖書(總編號,分類號,書名,作者,出版單位,單價)表中新加一個元組。 INSERT INTO 圖書 VALUES(446943,TP31/138,計算機基礎, 楊大華,高教
30、出版社,17.10); 例2 向圖書表中插入一個元組的部分屬性。 INSERT INTO 圖書(總編號,書名,單價) VALUES(,數(shù)據(jù)庫原理及應用,16.50); 484.3 SQL數(shù)據(jù)操縱2插入子查詢結(jié)果INSERT INTO (,,) 子查詢;例3 建立一個名為DWJS的各單位借閱圖書情況統(tǒng)計基本表,每隔一段時間,向此基本表里追加一次數(shù)據(jù)。CREATE TABLE DWJS(單位 CHAR(20), 借書人數(shù) SMALLINT, 借書人次 SMALLINT);INSERT INTO DWJS(單位,借書人數(shù),借書人次) SELECT 單位,COUNT(DISTINCT 借書證號), C
31、OUNT(總編號) FROM 借閱,讀者 WHERE 讀者.借書證號=借閱.借書證號GROUP BY 單位;494.3 SQL數(shù)據(jù)操縱 格式為: DELETE from where 例1 刪除借書證號所借總編號為的借閱登記。 DELETE FROM 借閱 WHERE 借書證號= AND 總編號=;例2 刪除借書證號以90開頭的所有讀者登記和借閱登記。 DELETEFROM 讀者WHERE 借書證號=90%; DELETE FROM 借閱WHERE 借書證號=90%; 504.3 SQL數(shù)據(jù)操縱三、更新格式:update set =,=where ;例1 將總編號為的圖書填上作者和出版單位。UPDATE 圖書 SET 作者=王民,出版單位=希望WHERE 總編號=;例2 將所有圖書的單價上調(diào)5%。UPDATE 圖書 SET 單價=單價*1.05;例3 將書名中包含計算機的書分類號改為TP31/138。 UPDATE 圖書 SET 分類號=TP31/138 WHERE 書名=%計算機;514.3 SQL數(shù)據(jù)操縱例4 把借書證號改為。UPDATE 讀者SET 借書證號=WHERE 借書證號=; 為保持數(shù)據(jù)的一致性,借閱關系也要更新。UPDATE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年模塊組合集成電源合作協(xié)議書
- 部編道德與法治八年級下冊教學工作計劃
- 2025年胺類合作協(xié)議書
- 2025年工業(yè)爐窯的新型燃燒裝置合作協(xié)議書
- 小學英語外研版(三起點)六年級上Module1課本+翻譯+練習
- 2025年個人房屋質(zhì)押借款合同模板(三篇)
- 2025年個體銷售員勞動合同范文(2篇)
- 2025年產(chǎn)品代理銷售合同參考樣本(三篇)
- 2025年中學食堂合伙經(jīng)營協(xié)議(三篇)
- 2025年個人旅游協(xié)議范文(2篇)
- 房地產(chǎn)調(diào)控政策解讀
- 山東省濟寧市2025屆高三歷史一輪復習高考仿真試卷 含答案
- 五年級數(shù)學(小數(shù)乘法)計算題專項練習及答案
- 產(chǎn)前診斷室護理工作總結(jié)
- 2024-2025學年八年級數(shù)學人教版上冊寒假作業(yè)(綜合復習能力提升篇)(含答案)
- 氫氣-安全技術說明書MSDS
- 《AP內(nèi)容介紹》課件
- 醫(yī)生定期考核簡易程序述職報告范文(10篇)
- 市政工程人員績效考核制度
- 公園景區(qū)安全生產(chǎn)
- 安全創(chuàng)新創(chuàng)效
評論
0/150
提交評論