數據庫技術復習2_第1頁
數據庫技術復習2_第2頁
數據庫技術復習2_第3頁
數據庫技術復習2_第4頁
數據庫技術復習2_第5頁
已閱讀5頁,還剩40頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、數據庫技術復習數據庫技術基礎數據庫技術基礎3.SQL 數據定義-建立數據表1 1建立數據表建立數據表 CREATE TABLECREATE TABLE ( (fieldfield TYPETYPE(size)(size)NOT NULLNOT NULLCOLUMN _constaint ,COLUMN _constaint ,field field TYPETYPE(size)(size)NOT NULLNOT NULLCOLUMN _constaint ,COLUMN _constaint , . . CONSTRAINTCONSTRAINT multifieldconstraint , .

2、 multifieldconstraint , .) ) 可由一個或多個列組成,列定義要說明可由一個或多個列組成,列定義要說明 、 ,并指,并指 。1.合法標識符(表示字母開頭,可含字母、數字、合法標識符(表示字母開頭,可含字母、數字、$、_ )2.最多最多128個字符;不允許重名個字符;不允許重名數據類型列的約束FIELDFIELDFIELDFIELD列名5數據庫技術基礎數據庫技術基礎4.SQL創建表 CREATE TABLECREATE TABLE( () ) 類別類別 類別類別IDID 類別名稱類別名稱 類別說明類別說明 NUMBER NUMBER VARCHAR(20)VARCHAR(

3、20)MEMOMEMO PRIMARY KEY, PRIMARY KEY, NOT NULL,NOT NULL,固定格式約束約束自定義表名、列名數據類型數據類型6 6逗號隔開逗號隔開數據庫技術基礎數據庫技術基礎7. 使用SQL語句建立供應商表。 供應商表要求CREATE TABLE CREATE TABLE 供應商供應商( ( 供應商供應商ID AUTOINCREMENT(1,1),ID AUTOINCREMENT(1,1), 公司名稱公司名稱 VARCHAR(40) NOT NULL, VARCHAR(40) NOT NULL, 聯系人姓名聯系人姓名 VARCHAR(10) NOT NULL

4、 ,VARCHAR(10) NOT NULL , 聯系人職務聯系人職務 VARCHAR(20) NOT NULL,VARCHAR(20) NOT NULL, 城市城市 VARCHAR(20) NOT NULL,VARCHAR(20) NOT NULL, 郵政編碼郵政編碼 VARCHAR(10),VARCHAR(10), 電話電話 VARCHAR(15),VARCHAR(15), 主頁主頁 TEXT(40),TEXT(40), CONSTRAINT CONSTRAINT 供應商供應商ID_pk PRIMARY KEY(ID_pk PRIMARY KEY(供應供應商商ID)ID) ) )注:主鍵的

5、定義可以放在表級,也可以放在列級。注:主鍵的定義可以放在表級,也可以放在列級。 表五例220數據庫技術基礎數據庫技術基礎9.修改表 ALTER TABLE tablename 22 ADD ADD COLUMNfield TYPE(size)COLUMNfield TYPE(size)NOT NULLNOT NULLCONSTRAINTCONSTRAINTindexindex| | DROPDROP COLUMN field I CONSTRAINT indexname COLUMN field I CONSTRAINT indexname | | ALTER ALTER COLUMNCOLU

6、MN field TYPE(size)|field TYPE(size)|CONSTRAINTCONSTRAINT multifieldmultifield修改字段修改字段刪除字段刪除字段添加一個字段添加一個字段不能一次添加或刪除多個字段數據庫技術基礎數據庫技術基礎9.修改表-修改字段l 使用 ALTER COLUMN 可更改現有字段的數據類型l 例4將產品表中的產品名稱長度改為60。 24ALTER TABLEALTER TABLE 產品產品 ALTER COLUMNALTER COLUMN 產品名稱產品名稱 TEXT(60)TEXT(60)數據庫技術基礎數據庫技術基礎9.修改表-添加字段l

7、使用 ADD COLUMN 向表中添加新字段??梢灾付ㄗ侄蚊Q、數據類型和可選大小。l例5給產品表添加一個再訂購量字段。 ALTER TABLEALTER TABLE 產品產品 ADD COLUMNADD COLUMN 再訂購量再訂購量 NUMBERNUMBER25數據庫技術基礎數據庫技術基礎9.修改表-添加約束l 使用使用ADD CONSTRAINTADD CONSTRAINT可給表增加約束。可給表增加約束。l 例7給產品表的產品ID添加主鍵約束,給產品名稱添加唯一值約束。26 ALTER TABLEALTER TABLE 產品產品 ADD CONSTRAINTADD CONSTRAINT

8、產品產品ID_pk PRIMARY KEY(ID_pk PRIMARY KEY(產品產品ID)ID) ALTER TABLEALTER TABLE 產品產品 ADD CONSTRAINTADD CONSTRAINT 產品名稱產品名稱_uk UNIQUE(_uk UNIQUE(產品名稱產品名稱) )數據庫技術基礎數據庫技術基礎9.修改表-刪除約束l使用DROP CONSTRAINT可給表刪除約束。l 例8刪除產品表中的產品名稱_uk約束 27 ALTER TABLEALTER TABLE 產品產品 DROP CONSTRAINTDROP CONSTRAINT 產品名稱產品名稱_uk _uk 數據

9、庫技術基礎數據庫技術基礎9.修改表-刪除字段l 使用 DROP COLUMN 可刪除字段。只需指定字段的名稱。l 例6刪除產品表中再訂購量字段。 28 ALTER TABLEALTER TABLE 產品產品 DROP COLUMNDROP COLUMN 再訂購量再訂購量數據庫技術基礎數據庫技術基礎10.刪除表l 例9刪除產品表。lDROP TABLE 產品說明說明: :1.在刪除表或從表中刪除索引之前,必須先關閉該表。2.可以使用 CREATE TABLE 語句創建一個表。若要對表進行修改,請使用 ALTER TABLE 語句。29數據庫技術基礎數據庫技術基礎1)輸入記錄(INSERT INT

10、O 語句) 將一個或多個記錄添加到表中。該語句也稱為追將一個或多個記錄添加到表中。該語句也稱為追加查詢。加查詢。 單記錄追加查詢:INSERT INTOINSERT INTO target (field1 target (field1,field2field2,.).)VALUESVALUES (value1 (value1,value2value2,.).)數據庫技術基礎數據庫技術基礎 例3.18將如下記錄插入到產品表中。將如下記錄插入到產品表中。 INSERT INTO INSERT INTO 產品產品( (產品名稱產品名稱, ,單價單價, ,庫存量庫存量, ,訂購訂購量量, ,中止中止)

11、 VALUES(“) VALUES(“薯條薯條”,12,79,90,yes),12,79,90,yes)注:產品表中的自動編號字段不需要輸入,它的注:產品表中的自動編號字段不需要輸入,它的值會自動生成。值會自動生成。數據庫技術基礎數據庫技術基礎2)更改記錄(UPDATE 語句) 創建一個更新查詢,以便基于特定的條件更改指創建一個更新查詢,以便基于特定的條件更改指定表的字段值。定表的字段值。 語法語法 UPDATEUPDATE table - table -表名表名SETSET newvalue - newvalue -表達式表達式WHEREWHERE criteria - criteria -

12、 表達式,確定更新哪些記錄表達式,確定更新哪些記錄 數據庫技術基礎數據庫技術基礎 例3.21將產品表中庫存量多于將產品表中庫存量多于100100的記錄中止的記錄中止進貨。進貨。UPDATE UPDATE 產品產品SET SET 中止中止=yes=yesWHERE WHERE 庫存量庫存量100100 例3.22修改產品中關于修改產品中關于 果粒橙果粒橙 的相關信息的相關信息數據庫技術基礎數據庫技術基礎3)刪除記錄(DELETE 語句)創建一個創建一個刪除查詢刪除查詢,用于從,用于從 FROM FROM 子句中列出子句中列出的一個或多個表中刪除滿足的一個或多個表中刪除滿足 WHERE WHERE

13、 子句的記錄子句的記錄。語法語法 DELETE DELETE FROM tableFROM tableWHERE criteriaWHERE criteria希望刪除多個記錄時,希望刪除多個記錄時,DELETE DELETE 語句特別有用。語句特別有用。數據庫技術基礎數據庫技術基礎 例3.23將庫存量為將庫存量為0 0的產品刪除。的產品刪除。 DELETE FROM DELETE FROM 產品產品 WHERE WHERE 庫存量庫存量=0=0數據庫技術基礎數據庫技術基礎備注 文本文本 nvarchar(size) varcharnvarchar(size) varchar(sizesize)

14、備注備注 ntextntext、memomemo自動增量自動增量 AUTOINCREMENTAUTOINCREMENT(1,1(1,1)counter(counter(種子值種子值, ,增長量增長量) ) 數字數字( (長整型長整型) ) intint數字數字( (整型整型) ) smallintsmallint數字數字( (單精度單精度) ) realreal數字數字( (雙精度雙精度) ) floatfloat數字數字( (字節字節) ) tinyinttinyint貨幣貨幣 money money 日期日期 smalldatetimesmalldatetime布爾布爾 bitbit超鏈接

15、:超鏈接:HyperlinkHyperlink OLEOLE對象對象 OLE Object OLE Object 數據庫應用基礎2. SQL 2. SQL 數據查詢功能數據查詢功能-投影查詢投影查詢l 數據查詢是對已有的數據查詢是對已有的表表中數據進行中數據進行檢索檢索的的操作操作。SELECTSELECT predicate predicate * * | table. | table.* * | | table.field1 table.field1 AS alias1 , table.field2 AS alias2 , AS alias1 , table.field2 AS alias

16、2 , .FROMFROM tableexpression , . IN tableexpression , . IN externaldatabaseexternaldatabase WHEREWHERE. . GROUP BYGROUP BY. . HAVINGHAVING. . ORDER BYORDER BY. . 查詢的表查詢的表查查詢詢字字段段名名查詢條件查詢條件按按分組分組分組后應滿足的條件分組后應滿足的條件結果輸出的順序結果輸出的順序數據庫應用基礎二二. . 實例實例-1.-1.查詢表中所有列查詢表中所有列l例例2 2查詢產品表中所有數據。查詢產品表中所有數據。SELECTFR

17、OM產品產品ID,ID,產品名稱產品名稱, ,單價單價, ,庫存量庫存量, ,訂購量訂購量, ,中止中止 產品產品相當于:相當于:SELECTFROM *產品產品使用使用 SELECTSELECT時,無論要寫的字段有多長,一定要一個一個列出時,無論要寫的字段有多長,一定要一個一個列出可互相替換注:注:(1 1)在查詢中)在查詢中無條件無條件限制時,可限制時,可省略省略WHEREWHERE子句。子句。 (2 2)雖然)雖然SELECT SELECT * * 可查詢一個表中的可查詢一個表中的所有字段所有字段,但應謹慎,但應謹慎 使用,尤其是使用使用,尤其是使用SELECTINTOSELECTINT

18、O 時,如果表增加或時,如果表增加或 減少若干字段,減少若干字段,SELECT SELECT * * 所查詢出來的字段也會發生所查詢出來的字段也會發生 變化而與后面的變量不匹配,造成錯誤。變化而與后面的變量不匹配,造成錯誤。數據庫應用基礎5. 5. 重新命名輸出列重新命名輸出列l例例5 5將產品表中所有產品單價下調將產品表中所有產品單價下調15%15%后的產品單后的產品單價以別名方式顯示出來。價以別名方式顯示出來。 SELECT SELECT 產品名稱產品名稱, ,單價單價* *(1-0.15)(1-0.15) AS AS 降價后價格降價后價格 FROM FROM 產品產品數據庫應用基礎6.

19、6. 去除重復記錄去除重復記錄lSELECTSELECT查詢會將查詢會將所有符合條件所有符合條件的的記錄記錄全部輸出,包括重復的值,全部輸出,包括重復的值,可以通過可以通過SELECTSELECT語句中的語句中的DISTINCTDISTINCT去除去除重復重復的的行行(記錄)。(記錄)。例例6 6顯示產品表中的類別顯示產品表中的類別IDID的值。的值。SELECT SELECT 類別類別ID ID FROM FROM 產品產品去掉重復行去掉重復行:SELECTSELECTFROM FROM 產品產品類別類別IDID數據庫應用基礎練習練習1 1l 查詢產品表中所有數據查詢產品表中所有數據l 查詢

20、產品表中所有產品的名稱與單價查詢產品表中所有產品的名稱與單價l 查詢產品表中所有產品的名稱、庫存量、訂購量查詢產品表中所有產品的名稱、庫存量、訂購量l 查詢客戶所分布的城市(消除重復行)查詢客戶所分布的城市(消除重復行)l 查詢所有雇員的姓名和年齡查詢所有雇員的姓名和年齡數據庫應用基礎7.7.使用使用BETWEENBETWEEN查詢查詢l(2 2)使用)使用BETWEENBETWEEN查詢查詢例例1010查詢單價在查詢單價在2020和和3030之間產品名稱和單價。之間產品名稱和單價。SELECT SELECT 產品名稱產品名稱, ,單價單價 FROM FROM 產品產品 WHERE WHERE

21、 單價單價 BETWEEN 20 AND 30BETWEEN 20 AND 30v BETWEENANDBETWEENAND 可以使用可以使用 = AND = AND =20 AND =20 AND 單價單價=3010)10數據庫應用基礎16. 16. 多表查詢多表查詢l若一個若一個查詢查詢同時同時涉及涉及兩個以上兩個以上的的表表,則稱之為多,則稱之為多表查詢(連接查詢)。表查詢(連接查詢)。 連接條件中兩個連接字段連接條件中兩個連接字段的類型必須是可比的,但不必相同。的類型必須是可比的,但不必相同。 其格式如下:其格式如下: SELECT SELECT 列名列名1 1,列名,列名2 2, FROM FROM 表表1 1,表,表2 2, WH

溫馨提示

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

評論

0/150

提交評論