數(shù)據(jù)庫(kù)技術(shù)復(fù)習(xí)2_第1頁(yè)
數(shù)據(jù)庫(kù)技術(shù)復(fù)習(xí)2_第2頁(yè)
數(shù)據(jù)庫(kù)技術(shù)復(fù)習(xí)2_第3頁(yè)
數(shù)據(jù)庫(kù)技術(shù)復(fù)習(xí)2_第4頁(yè)
數(shù)據(jù)庫(kù)技術(shù)復(fù)習(xí)2_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)技術(shù)復(fù)習(xí)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)3.SQL 數(shù)據(jù)定義-建立數(shù)據(jù)表1 1建立數(shù)據(jù)表建立數(shù)據(jù)表 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 , .) ) 可由一個(gè)或多個(gè)列組成,列定義要說(shuō)明可由一個(gè)或多個(gè)列組成,列定義要說(shuō)明 、 ,并指,并指 。1.合法標(biāo)識(shí)符(表示字母開(kāi)頭,可含字母、數(shù)字、合法標(biāo)識(shí)符(表示字母開(kāi)頭,可含字母、數(shù)字、$、_ )2.最多最多128個(gè)字符;不允許重名個(gè)字符;不允許重名數(shù)據(jù)類型列的約束FIELDFIELDFIELDFIELD列名5數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)4.SQL創(chuàng)建表 CREATE TABLECREATE TABLE( () ) 類別類別 類別類別IDID 類別名稱類別名稱 類別說(shuō)明類別說(shuō)明 NUMBER NUMBER VARCHAR(20)VARCHAR(

3、20)MEMOMEMO PRIMARY KEY, PRIMARY KEY, NOT NULL,NOT NULL,固定格式約束約束自定義表名、列名數(shù)據(jù)類型數(shù)據(jù)類型6 6逗號(hào)隔開(kāi)逗號(hào)隔開(kāi)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)7. 使用SQL語(yǔ)句建立供應(yīng)商表。 供應(yīng)商表要求CREATE TABLE CREATE TABLE 供應(yīng)商供應(yīng)商( ( 供應(yīng)商供應(yīng)商ID AUTOINCREMENT(1,1),ID AUTOINCREMENT(1,1), 公司名稱公司名稱 VARCHAR(40) NOT NULL, VARCHAR(40) NOT NULL, 聯(lián)系人姓名聯(lián)系人姓名 VARCHAR(10) NOT NULL

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

5、定義可以放在表級(jí),也可以放在列級(jí)。注:主鍵的定義可以放在表級(jí),也可以放在列級(jí)。 表五例220數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)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修改字段修改字段刪除字段刪除字段添加一個(gè)字段添加一個(gè)字段不能一次添加或刪除多個(gè)字段數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)9.修改表-修改字段l 使用 ALTER COLUMN 可更改現(xiàn)有字段的數(shù)據(jù)類型l 例4將產(chǎn)品表中的產(chǎn)品名稱長(zhǎng)度改為60。 24ALTER TABLEALTER TABLE 產(chǎn)品產(chǎn)品 ALTER COLUMNALTER COLUMN 產(chǎn)品名稱產(chǎn)品名稱 TEXT(60)TEXT(60)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)9.修改表-添加字段l

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

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

9、庫(kù)技術(shù)基礎(chǔ)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)9.修改表-刪除字段l 使用 DROP COLUMN 可刪除字段。只需指定字段的名稱。l 例6刪除產(chǎn)品表中再訂購(gòu)量字段。 28 ALTER TABLEALTER TABLE 產(chǎn)品產(chǎn)品 DROP COLUMNDROP COLUMN 再訂購(gòu)量再訂購(gòu)量數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)10.刪除表l 例9刪除產(chǎn)品表。lDROP TABLE 產(chǎn)品說(shuō)明說(shuō)明: :1.在刪除表或從表中刪除索引之前,必須先關(guān)閉該表。2.可以使用 CREATE TABLE 語(yǔ)句創(chuàng)建一個(gè)表。若要對(duì)表進(jìn)行修改,請(qǐng)使用 ALTER TABLE 語(yǔ)句。29數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)1)輸入記錄(INSERT INT

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

11、 VALUES(“) VALUES(“薯?xiàng)l薯?xiàng)l”,12,79,90,yes),12,79,90,yes)注:產(chǎn)品表中的自動(dòng)編號(hào)字段不需要輸入,它的注:產(chǎn)品表中的自動(dòng)編號(hào)字段不需要輸入,它的值會(huì)自動(dòng)生成。值會(huì)自動(dòng)生成。數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)2)更改記錄(UPDATE 語(yǔ)句) 創(chuàng)建一個(gè)更新查詢,以便基于特定的條件更改指創(chuàng)建一個(gè)更新查詢,以便基于特定的條件更改指定表的字段值。定表的字段值。 語(yǔ)法語(yǔ)法 UPDATEUPDATE table - table -表名表名SETSET newvalue - newvalue -表達(dá)式表達(dá)式WHEREWHERE criteria - criteria -

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

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

14、備注備注 ntextntext、memomemo自動(dòng)增量自動(dòng)增量 AUTOINCREMENTAUTOINCREMENT(1,1(1,1)counter(counter(種子值種子值, ,增長(zhǎng)量增長(zhǎng)量) ) 數(shù)字?jǐn)?shù)字( (長(zhǎng)整型長(zhǎng)整型) ) intint數(shù)字?jǐn)?shù)字( (整型整型) ) smallintsmallint數(shù)字?jǐn)?shù)字( (單精度單精度) ) realreal數(shù)字?jǐn)?shù)字( (雙精度雙精度) ) floatfloat數(shù)字?jǐn)?shù)字( (字節(jié)字節(jié)) ) tinyinttinyint貨幣貨幣 money money 日期日期 smalldatetimesmalldatetime布爾布爾 bitbit超鏈接

15、:超鏈接:HyperlinkHyperlink OLEOLE對(duì)象對(duì)象 OLE Object OLE Object 數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)2. SQL 2. SQL 數(shù)據(jù)查詢功能數(shù)據(jù)查詢功能-投影查詢投影查詢l 數(shù)據(jù)查詢是對(duì)已有的數(shù)據(jù)查詢是對(duì)已有的表表中數(shù)據(jù)進(jìn)行中數(shù)據(jù)進(jìn)行檢索檢索的的操作操作。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. . 查詢的表查詢的表查查詢?cè)冏肿侄味蚊樵儣l件查詢條件按按分組分組分組后應(yīng)滿足的條件分組后應(yīng)滿足的條件結(jié)果輸出的順序結(jié)果輸出的順序數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)二二. . 實(shí)例實(shí)例-1.-1.查詢表中所有列查詢表中所有列l(wèi)例例2 2查詢產(chǎn)品表中所有數(shù)據(jù)。查詢產(chǎn)品表中所有數(shù)據(jù)。SELECTFR

17、OM產(chǎn)品產(chǎn)品ID,ID,產(chǎn)品名稱產(chǎn)品名稱, ,單價(jià)單價(jià), ,庫(kù)存量庫(kù)存量, ,訂購(gòu)量訂購(gòu)量, ,中止中止 產(chǎn)品產(chǎn)品相當(dāng)于:相當(dāng)于:SELECTFROM *產(chǎn)品產(chǎn)品使用使用 SELECTSELECT時(shí),無(wú)論要寫的字段有多長(zhǎng),一定要一個(gè)一個(gè)列出時(shí),無(wú)論要寫的字段有多長(zhǎng),一定要一個(gè)一個(gè)列出可互相替換注:注:(1 1)在查詢中)在查詢中無(wú)條件無(wú)條件限制時(shí),可限制時(shí),可省略省略WHEREWHERE子句。子句。 (2 2)雖然)雖然SELECT SELECT * * 可查詢一個(gè)表中的可查詢一個(gè)表中的所有字段所有字段,但應(yīng)謹(jǐn)慎,但應(yīng)謹(jǐn)慎 使用,尤其是使用使用,尤其是使用SELECTINTOSELECTINT

18、O 時(shí),如果表增加或時(shí),如果表增加或 減少若干字段,減少若干字段,SELECT SELECT * * 所查詢出來(lái)的字段也會(huì)發(fā)生所查詢出來(lái)的字段也會(huì)發(fā)生 變化而與后面的變量不匹配,造成錯(cuò)誤。變化而與后面的變量不匹配,造成錯(cuò)誤。數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)5. 5. 重新命名輸出列重新命名輸出列l(wèi)例例5 5將產(chǎn)品表中所有產(chǎn)品單價(jià)下調(diào)將產(chǎn)品表中所有產(chǎn)品單價(jià)下調(diào)15%15%后的產(chǎn)品單后的產(chǎn)品單價(jià)以別名方式顯示出來(lái)。價(jià)以別名方式顯示出來(lái)。 SELECT SELECT 產(chǎn)品名稱產(chǎn)品名稱, ,單價(jià)單價(jià)* *(1-0.15)(1-0.15) AS AS 降價(jià)后價(jià)格降價(jià)后價(jià)格 FROM FROM 產(chǎn)品產(chǎn)品數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)6.

19、6. 去除重復(fù)記錄去除重復(fù)記錄lSELECTSELECT查詢會(huì)將查詢會(huì)將所有符合條件所有符合條件的的記錄記錄全部輸出,包括重復(fù)的值,全部輸出,包括重復(fù)的值,可以通過(guò)可以通過(guò)SELECTSELECT語(yǔ)句中的語(yǔ)句中的DISTINCTDISTINCT去除去除重復(fù)重復(fù)的的行行(記錄)。(記錄)。例例6 6顯示產(chǎn)品表中的類別顯示產(chǎn)品表中的類別IDID的值。的值。SELECT SELECT 類別類別ID ID FROM FROM 產(chǎn)品產(chǎn)品去掉重復(fù)行去掉重復(fù)行:SELECTSELECTFROM FROM 產(chǎn)品產(chǎn)品類別類別IDID數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)練習(xí)練習(xí)1 1l 查詢產(chǎn)品表中所有數(shù)據(jù)查詢產(chǎn)品表中所有數(shù)據(jù)l 查詢

20、產(chǎn)品表中所有產(chǎn)品的名稱與單價(jià)查詢產(chǎn)品表中所有產(chǎn)品的名稱與單價(jià)l 查詢產(chǎn)品表中所有產(chǎn)品的名稱、庫(kù)存量、訂購(gòu)量查詢產(chǎn)品表中所有產(chǎn)品的名稱、庫(kù)存量、訂購(gòu)量l 查詢客戶所分布的城市(消除重復(fù)行)查詢客戶所分布的城市(消除重復(fù)行)l 查詢所有雇員的姓名和年齡查詢所有雇員的姓名和年齡數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)7.7.使用使用BETWEENBETWEEN查詢查詢l(2 2)使用)使用BETWEENBETWEEN查詢查詢例例1010查詢單價(jià)在查詢單價(jià)在2020和和3030之間產(chǎn)品名稱和單價(jià)。之間產(chǎn)品名稱和單價(jià)。SELECT SELECT 產(chǎn)品名稱產(chǎn)品名稱, ,單價(jià)單價(jià) FROM FROM 產(chǎn)品產(chǎn)品 WHERE WHERE

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論