設計器、SQL數(shù)據(jù)表的操作、視圖設計器)_第1頁
設計器、SQL數(shù)據(jù)表的操作、視圖設計器)_第2頁
設計器、SQL數(shù)據(jù)表的操作、視圖設計器)_第3頁
設計器、SQL數(shù)據(jù)表的操作、視圖設計器)_第4頁
設計器、SQL數(shù)據(jù)表的操作、視圖設計器)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、西華師大VFP二級培訓 關系系數(shù)據(jù)庫標準語言SQL第四章 關系數(shù)據(jù)庫標準語言SQL一、 SQL概述1.1 SQL的概念:SQL(Structured Query Language)是結構化查詢語言的簡稱,它引領著關系數(shù)據(jù)庫的發(fā)展方向,是未來關系數(shù)據(jù)庫發(fā)展的標準。1.2 SQL的特點:u 一體化u 高度非過程化u 非常簡潔u 直接以命令方式交互使用1.3 SQL的主要命令:u 數(shù)據(jù)查詢:SELECTu 數(shù)據(jù)定義:CREATE、DROP、ALTERu 數(shù)據(jù)操縱:INSERT、UPDATE、DELETE二、 使用命令建立SQL查詢2.1查詢的概念:查詢是從指定的表或視圖中提取滿足條件的記錄,然后按照

2、想得到的輸出類型定向輸出查詢結果。2.2 SQL查詢語句格式:u SELECT : 要查詢的數(shù)據(jù)(字段)u FROM :數(shù)據(jù)來源(要查詢的數(shù)據(jù)來自哪個或哪些表)u WHERE :查詢需要滿足的條件u GROUP BY :對查詢的數(shù)據(jù)進行分組u ORDER BY :對查詢結果進行排序2.3 SQL簡單查詢:1. 在當前數(shù)據(jù)庫當前表中查詢某一數(shù)據(jù)基本格式:SELECT Select_Item FROM Table 其中:Select_Item :字段名列表 Table :數(shù)據(jù)表名稱例題2.1:從職工關系中檢索所有工資值。實現(xiàn)語句:SELECT 工資 FROM 職工2. 在指定數(shù)據(jù)庫指定表中查詢某一

3、數(shù)據(jù)基本格式:SELECT Alias.Select_Item FROM DatabaseName!Table例題2.2:從訂貨管理數(shù)據(jù)庫中的職工數(shù)據(jù)表中檢索所有工資值。實現(xiàn)語句:SELECT 職工.工資 FROM 訂貨管理數(shù)據(jù)庫!職工3. 在當前數(shù)據(jù)庫當前表中查詢所有數(shù)據(jù)基本格式:SELECT * FROM Table例題2.3:從當前數(shù)據(jù)庫中當前數(shù)據(jù)表中檢索所有數(shù)據(jù)。實現(xiàn)語句:SELECT * FROM 職工4. 在當前數(shù)據(jù)庫當前表中查詢所有數(shù)據(jù)(不允許內容重復)基本格式:SELECT ALL | DISTINCT Select_Item FROM Table例題2.4:從當前數(shù)據(jù)庫中當前

4、數(shù)據(jù)表中檢索所有不重復的工資數(shù)據(jù)。實現(xiàn)語句:SELECT DISTINCT 工資 FROM 職工5. 在當前數(shù)據(jù)庫當前表中進行條件查詢基本格式:SELECT Select_Item FROM Table WHERE JoinCondition例題2.5:在當前數(shù)據(jù)庫當前表中,查詢工資大于1210元職工的倉庫號Select 倉庫號 from 職工 where 工資1210實現(xiàn)語句:SELECT 倉庫號 FROM 職工 WHERE 工資1210例題2.6:查詢在倉庫“WH1”或“WH2”工作,并且工資少于1250元的職工工號實現(xiàn)語句:SELECT 職工號 FROM 職工 WHERE 工資1230

5、AND (職工.倉庫號=倉庫.倉庫號)特別注意:u 職工.倉庫號=倉庫.倉庫號 是連接條件u 如果在FROM之后有兩個關系,則這兩個關系之間肯定有一種聯(lián)系,否則無法構成檢索表達式例題2.8:找出工作在面積大于400的倉庫的職工號以及這些職工工作所在的城市。實現(xiàn)語句:SELECT 職工號,城市 FROM 職工,倉庫 WHERE 面積400 AND (職工.倉庫號=倉庫.倉庫號)2.5 SQL嵌套查詢:例題2.9:哪些城市至少有一個倉庫的職工工資為1250元?實現(xiàn)語句:SELECT 城市 FROM 倉庫 WHERE 倉庫號 in (SELECT 倉庫號 FROM 職工 WHERE 工資=1250)

6、例題2.10:查詢所有職工的工資都多于1210元的倉庫信息。實現(xiàn)語句:SELECT * FROM 倉庫 WHERE 倉庫號 NOT IN (SELECT 倉庫號 FROM 職工 WHERE 工資=1210)例題2.11:找出和職工E4掙同樣工資的所有職工。實現(xiàn)語句:SELECT 職工號 FROM 職工 WHERE 工資=(SELECT 工資 FROM 職工 WHERE 職工號=”E4”)2.6 SQL幾個特殊運算符:u BETWEEN AND :和之間u LIKE:字符串匹配運算符例題2.12:檢索出工資在1220元到1240元范圍內的職工信息。實現(xiàn)語句:SELECT * FROM 職工 WH

7、ERE 工資 BETWEEN 1220 AND 1240例題2.13:從供應商關系中檢索出全部公司的信息,不要工廠或其他供應商的信息。實現(xiàn)語句:SELECT * FROM 供應商 WHERE 供應商名 LIKE “%公司”通配符:u % :表示任意多個字符(含0個)u _ :表示一個字符2.7 SQL排序:基本格式:ORDER BY Order_Iten ASC|DESC ,Order_Iten ASC|DESC例題2.14:按職工的工資值升序檢索出全部職工信息。實現(xiàn)語句:SELECT * FROM 職工 ORDER BY 工資 注意:默認為升序例題2.15:先按倉庫號排序,再按工資排序并輸出

8、全部職工信息。實現(xiàn)語句:SELECT * FROM 職工 ORDER BY 倉庫號,工資 2.8 SQL計算查詢:1.用于檢索的函數(shù):COUNT()計數(shù) SUM()求和 AVG()計算平均值 MAX()求最大值 MIN()求最小值2.例子:例題2.16:找出供應商所在地的數(shù)目。實現(xiàn)語句:SELECT COUNT(DISTINCT 地址) FROM 供應商例題2.17:求出供應商數(shù)據(jù)表中記錄數(shù)目。實現(xiàn)語句:SELECT COUNT(*) FROM 供應商例題2.18:求支付的工資總數(shù)。實現(xiàn)語句:SELECT SUM(工資) FROM 職工例題2.19:求北京和上海的倉庫職工的工資總和。實現(xiàn)語句:

9、SELECT SUM(工資) FROM 職工 WHERE 倉庫號 IN (SELECT 倉庫號 FROM 倉庫 WHERE 城市=”北京” OR 城市=”上海”)例題2.20:求所有職工的工資都多于1210元的倉庫的平均面積。實現(xiàn)語句:SELECT AVG(面積) FROM 倉庫 WHERE 倉庫號 NOT IN (SELECT 倉庫號 FROM 職工 WHERE 工資0) ERROR “面積必須大于0”)3.數(shù)據(jù)表字段默認值設置方法基本格式:CREATE TABLE|DBF TableName1 Name LongTableName FREE(FieldName1 FieldType(nFi

10、eldWidth,nPrecision) DEFAULT eExpression )例題5.3:建立數(shù)據(jù)表“倉庫1”,并將“倉庫1”數(shù)據(jù)表的“面積”字段的默認值設置為200。實現(xiàn)語句:CREATE TABLE 倉庫1(倉庫號 C(5),城市 C(10),面積 I DEFAULT 200)4.數(shù)據(jù)表字段主關鍵字或候選索引設置方法基本格式:CREATE TABLE|DBF TableName1 Name LongTableName FREE(FieldName1 FieldType(nFieldWidth,nPrecision) PRIMARY KEY | UNIQUE ) 注意:UNIQUE在此

11、處是候選索引例題5.4:建立數(shù)據(jù)表“倉庫1”,并將“倉庫號”字段設置為主關鍵字。實現(xiàn)語句:CREATE TABLE 倉庫1(倉庫號 C(5) PRIMARY KEY,城市 C(10),面積 I)5.2 表刪除:基本格式:DROP TABLE | DBF TableName 例題5.5:刪除數(shù)據(jù)表“倉庫1”。實現(xiàn)語句:DROP TABLE 倉庫15.3 表結構修改:1.添加新字段、修改已有字段并設置字段級相關規(guī)則:基本格式:ALTER TABLE TableName ADD | ALTER COLUMN FieldName FieldType(nFieldWidth,nPrecision)NUL

12、L | NOT NULL&字段是否允許為空CHECK lExpression ERROR cMessageText&設置字段的有效性規(guī)則DEFAULT eExpression&設置字段的有效性規(guī)則PRIMARY KEY | UNIQUE&設置字段索引類型例題5.6:為訂購單1表增加一個貨幣類型的總金額字段。實現(xiàn)語句:ALTER TABLE 訂購單1 ADD 總金額 Y CHECK 總金額0 ERROR “總金額應該大于0”例題5.7:將訂購單1表的訂購單號字段的寬度由原來的5改為6。實現(xiàn)語句:ALTER TABLE 訂購單1 ALTER 訂購單號 C(6)2.定義、修改、刪除字段級有效性規(guī)則和

13、默認值定義:基本格式:ALTER TABLE TableName ALTER COLUMN FieldName NULL | NOT NULL&字段是否允許為空ALTER TABLE TableName ALTER COLUMN FieldName SET CHECK lExpression ERROR cMessageText&設置字段的有效性規(guī)則ALTER TABLE TableName ALTER COLUMN FieldName DROP CHECK&刪除字段的有效性規(guī)則ALTER TABLE TableName ALTER COLUMN FieldName SET DEFAULT e

14、Expression&設置字段的默認值ALTER TABLE TableName ALTER COLUMN FieldName DROP DEFAULT&刪除字段的默認值例題5.8:修改(定義)總金額字段的有效性規(guī)則。實現(xiàn)語句:ALTER TABLE 訂購單1 ALTER 總金額 SET CHECK 總金額100 ERROR “總金額應該大于100”例題5.9:刪除總金額字段的有效性規(guī)則。實現(xiàn)語句:ALTER TABLE 訂購單1 ALTER 總金額 DROP CHECK3.刪除字段、修改字段名,定義、修改、刪除表一級的有效性規(guī)則:基本格式:ALTER TABLE TableName DROP

15、 COLUMN FieldName&刪除字段ALTER TABLE TableName RENAME COLUMN FieldName1 TO FieldName2&修改字段名ALTER TABLE TableName SET CHECK lExpression ERROR cMessageText&設置表的有效性規(guī)則ALTER TABLE TableName DROP CHECK&刪除表的有效性規(guī)則例題5.10:將訂購單1表的總金額字段名改為金額。實現(xiàn)語句:ALTER TABLE 訂購單1 RENAME 總金額 TO金額例題5.11:刪除訂購單1金額字段。實現(xiàn)語句:ALTER TABLE 訂

16、購單1 DROP 金額六、 視圖:6.1 視圖的命令操作:1.視圖的定義格式:格式:CREATE VIEW ViewName AS SelectStatement其中:SelectStatement :查詢語句,用于限定視圖中的數(shù)據(jù)2.從單個表派生出視圖:構成視圖的內容來源于單個表。例題6.1:利用“職工”數(shù)據(jù)表,建立包含職工號與倉庫號的視圖。實現(xiàn)語句:CREATE VIEW ew AS SELECT 職工號,倉庫號 FROM 職工注:視圖一旦定義,就可以和基本表一樣進行各種查詢與修改。3.從多個表派生出視圖:例題6.2:利用“職工”和“倉庫”數(shù)據(jù)表,建立包含職工號、倉庫號、城市、面積、工資的

17、視圖。實現(xiàn)語句:CREATE VIEW ew AS;SELECT 職工號,職工.倉庫號,城市,面積,工資 FROM 職工,倉庫 WHERE 倉庫.倉庫號=職工.倉庫號注:視圖一旦定義,就可以和基本表一樣進行各種查詢與修改。4.刪除視圖:基本格式:DROP VIEW ViewName例題6.3:刪除視圖ew。實現(xiàn)語句:DROP VIEW dw5.關于視圖的說明:u 視圖可以更新;u 視圖不含真正的數(shù)據(jù),僅是原表的一個窗口;u 在視圖中可以進行查詢操作,但視圖的插入、更新操作有一定的限制;u 如果一個視圖來源于單個表,則可以進行插入與更新操作,不能進行刪除操作;u 如果一個視圖來源于多個表,則插入、更新與刪除操作都不能進行。u 可以從一個表或多個相關聯(lián)的表中提取有用信息;u 可以用來更新表,并將結果永久保存在磁盤上;u 只有在包含視圖的數(shù)據(jù)庫打開時,才能使用視圖。6.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論