intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

giáo trình SQL server 7.0 phần 5

Chia sẻ: Nguyễn Thị Ngọc Huỳnh | Ngày: | Loại File: PDF | Số trang:13

124
lượt xem
11
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'giáo trình sql server 7.0 phần 5', công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: giáo trình SQL server 7.0 phần 5

  1. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com COMPUTE row_aggregate(column_name) [, row_aggregate(column_name)...] [BY column_name [, column_name]...] FOR BROWSE: Cho phÐp cËp nhËt b»ng c¸ch sö dông th− viÖn c¬ së d÷ liÖu (DB_Library) khi xem d÷ liÖu trong c¸c ch−¬ng tr×nh øng dông cña m¸y kh¸ch. 2. C©u lÖnh INSERT: Thªm mét dßng gi¸ trÞ míi vµo b¶ng d÷ liÖu®ang tån t¹i trong CSDL. Có ph¸p: INSERT [INTO] {table_name | view_name} [(column_list)] {DEFAULT VALUES | values_list | select_statement} where Trong ®ã: INTO: Lµ tõ kho¸ lùa chän. table_name | view_name: Tªn cña b¶ng ®−îc dïng trong c©u lÖnh INSERT. NÕu b¶ng kh«ng tån t¹i trong c¬ së d÷ liÖu hiÖn thêi th× ph¶i chØ ra ®Çy ®ñ tªn b¶ng (database_name.owner.object_name). column_list: Danh s¸nh c¸c cét ®−îc thªm d÷ liÖu. Cã thÓ liÖt kª c¸c cét theo bÊt kú thø tù nµo nh−ng d÷ liÖu ®−îc thªm vµo b¶ng ph¶i cã cïng thø tù víi thø tù cña cét. NÕu column_list kh«ng ®−îc chØ ra th× tÊt c¶ c¸c cét (theo thø tù ®−îc t¹o ra b»ng lÖnh CREATE TABLE) cña b¶ng sÏ ®−îc thªm d÷ liÖu. DEFAULT VALUES: Thªm gi¸ trÞ ngÇm ®Þnh cho tÊt c¶ c¸c cét. §èi víi c¸c cét cã gi¸ trÞ NOT NULL, gi¸ trÞ phï hîp tiÕp theo sÏ ®−îc thªm vµo. §èi víi c¸c cét ®−îc nhËn gi¸ trÞ NULL th× gi¸ trÞ ngÇm ®Þnh ®−îc thªm vµo lµ NULL. 64
  2. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com values_list: §Ó liÖt kª c¸c gi¸ trÞ cho mçi cét theo thø tù trong column_list hoÆc trong b¶ng. VALUES (DEFAULT | constant_expression [, DEFAULT | constant_expression]...) select_statement: Lµ c©u lÖnh SELECT dïng ®Ó nhËn d÷ liÖu mµ sÏ ®−îc thªm vµo b¶ng tõ mét b¶ng ®ang tån t¹i. VÝ dô: A. Thªm gi¸ trÞ cho tÊt c¶ c¸c cét INSERT titles VALUES('BU2222', 'Faster!', 'business', '1389', NULL, NULL, NULL, NULL, 'ok', '06/17/87') B. Thªm gi¸ trÞ cho c¸c cét ®−îc liÖt kª trong column_list: INSERT titles(title_id, title, type, pub_id, notes, pubdate) VALUES ('BU1237', 'Get Going!', 'business', '1389', 'great', '06/18/86') C. Thªm gi¸ trÞ cho tÊt c¶ c¸c cét tõ mét b¶ng kh¸c: INSERT INTO newauthors SELECT * FROM authors WHERE city = 'San Francisco' D. Thªm c¸c gi¸ trÞ ngÇm ®Þnh: INSERT publishers DEFAULT VALUES V× gi¸ trÞ cña cét pub_id trong b¶ng publishers lµ NOT NULL nªn xuÊt hiÖn th«ng b¸o lçi: Msg 233, Level 16, State 2 The column pub_id in table publishers may not be null. E. Thªm gi¸ trÞ cho c¸c cét sö dông tõ kho¸ DEFAULT INSERT employee 65
  3. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com VALUES ('KLT91469F', 'Katrina', 'L', 'Thompson', DEFAULT, DEFAULT,DEFAULT, '01/14/95') 3. C©u lÖnh UPDATE: Thay ®æi d÷ liÖu dßng trong b¶ng ®ang tån t¹i b»ng c¸ch thªm d÷ liÖu míi hoÆc söa ®æi d÷ liÖu ®ang cã. Có ph¸p: UPDATE {table_name | view_name} SET [{table_name | view_name}] {column_list | variable_list | variable_and_column_list} [, {column_list2 | variable_list2 | variable_and_column_list2} ... [, {column_listN | variable_listN | variable_and_column_listN}]] [WHERE clause] Trong ®ã: table_name | view_name: Tªn b¶ng ®−îc thay ®æi d÷ liÖu. NÕu b¶ng kh«ng thuéc c¬ së d÷ liÖu hiÖn t¹i th× ph¶i chØ ra ®−êng dÉn ®Çy ®ñ cña b¶ng ®ã (Tªn_c¬_së_d÷_liÖu.Tªn_chñ_c¬_së_d÷_liÖu.tªn_b¶ng). SET: Lµ tõ kho¸ dïng ®Ó liÖt kª danh s¸ch c¸c cét hoÆc biÕn sÏ ®−îc thay ®æi. NÕu cã h¬n mét cét hoÆc biÕn ®−îc liÖt kª th× dïng dÊu phÈy ®Ó t¸ch chóng. column_list: bao gåm c¸c biÓu thøc g¸n 66
  4. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com Tªn_cét = {BiÓu thøc | DEFAULT | NULL} variable_list: bao gåm c¸c biÓu thøc g¸n Tªn_biÕn = {BiÓu thøc | NULL} Trong ®ã: Tªn_cét: ChØ ra cét trong b¶ng. BiÓu thøc: Lµ tªn cét, h»ng sè, hµm (ngo¹i trõ hµm tæng hîp), hoÆc lµ sù kÕt hîp cña c¸c tªn cét, h»ng sè, vµ c¸c hµm b»ng c¸c to¸n tö hoÆc c¸c truy vÊn con. DEFAULT: Thªm c¸c gi¸ trÞ ngÇm ®Þnh cho c¸c cét ®ã. variable_and_column_list: Bao gåm c¸c biÓu thøc g¸n: Tªn_biÕn = Tªn_cét = {BiÓu thøc | NULL} WHERE: X¸c ®Þnh ®iÒu kiÖn ®Ó thay ®æi d÷ liÖu trong b¶ng. NÕu kh«ng cã mÖnh ®Ò WHERE th× c©u lÖnh UPDATE sÏ thay ®æi tÊt c¶ d÷ liÖu trong b¶ng. WHERE {§iÒu_kiÖn_t×m_kiÕm} §iÒu_kiÖn_t×m_kiÕm: X¸c ®Þnh c¸c chØ tiªu ®−îc thay ®æi d÷ liÖu. §iÒu kiÖn t×m kiÕm cã thÓ lµ mét biÓu thøc, mét truy vÊn con, mét h»ng sè, ... VÝ dô: A. C©u lÖnh UPDATE chØ sö dông mÖnh ®Ò SET: UPDATE publishers SET city = 'Atlanta', state = 'GA' UPDATE publishers SET pub_name = NULL UPDATE titles SET price = price * 2 67
  5. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com B. C©u lÖnh UPDATE cã sö dông mÖnh ®Ò WHERE: UPDATE authors SET state = 'PC', city = 'Bay City' WHERE state = 'CA' AND city = 'Oakland' C. C©u lÖnh UPDATE sö dông lÖnh SELECT: UPDATE titles SET ytd_sales = ytd_sales + qty FROM titles, sales WHERE titles.title_id = sales.title_id AND sales.date = (SELECT MAX(sales.date) FROM sales) 4. C©u lÖnh DELETE: Xo¸ c¸c dßng gi¸ trÞ trong b¶ng d÷ liÖu ®ang tån t¹i. Có ph¸p: DELETE [FROM] {table_name | view_name} [WHERE clause] Trong ®ã: table_name | view_name: Tªn b¶ng ®−îc xo¸ d÷ liÖu. NÕu b¶ng kh«ng thuéc c¬ së d÷ liÖu hiÖn t¹i th× ph¶i chØ ra ®−êng dÉn ®Çy ®ñ cña b¶ng ®ã: (Tªn_c¬_së_d÷_liÖu.Tªn_chñ_c¬_së_d÷_liÖu.tªn_b¶ng). WHERE: X¸c ®Þnh ®iÒu kiÖn ®Ó xo¸ d÷ liÖu trong b¶ng. NÕu c©u lÖnh DELETE kh«ng cã mÖnh ®Ò WHERE th× tÊt c¶ c¸c dßng trong b¶ng sÏ bÞ xo¸. WHERE {search_conditions | CURRENT OF cursor_name} search_conditions: §iÒu kiÖn ®Ó xo¸ d÷ liÖu. VÝ dô: A. C©u lÖnh DELETE kh«ng cã tham sè: Xo¸ tÊt c¶ c¸c dßng d÷ liÖu trong b¶ng authors. 68
  6. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com DELETE authors B. Dïng lÖnh DELETE ®Ó xo¸ mét sè dßng d÷ liÖu: DELETE FROM authors WHERE au_lname = 'McBadden' 5. C¸c hµm tæng hîp: C¸c hµm tæng hîp tÝnh to¸n c¸c gi¸ trÞ nh− gi¸ trÞ trung b×nh, tæng sè theo gi¸ trÞ cña c¸c cét ®−îc chØ ra vµ tr¶ vÒ mét gi¸ trÞ. Có ph¸p: Tªn_hµm_tæng hîp ([ALL | DISTINCT] BiÓu thøc) Trong ®ã: Tªn_hµm_tæng hîp gåm: AVG: Tr¶ vÒ gi¸ trÞ trung b×nh cña tÊt c¶ c¸c gi¸ trÞ hoÆc chØ ®èi víi c¸c gi¸ trÞ kh«ng lÆp trong biÓu thøc. AVG chØ dïng cho c¸c cét cã gi¸ trÞ sè. COUNT: Tr¶ vÒ sè l−îng c¸c gi¸ trÞ NOT NULL cña biÓu thøc. NÕu dïng tõ kho¸ DISTINCT th× hµm COUNT chØ ®Õm sè gi¸ trÞ NOT NULL duy nhÊt. Hµm COUNT ®−îc dïng víi c¶ cét cã gi¸ trÞ sè vµ ký tù. COUNT(*): Tr¶ vÒ sè dßng trong b¶ng. COUNT(*) kh«ng cã tham sè vµ kh«ng ®−îc dïng víi tõ kho¸ DISTINCT. COUNT(*) ®Õm tÊt c¶ c¸c dßng, c¶ c¸c dßng cã gi¸ trÞ NULL. MAX: Tr¶ vÒ gi¸ trÞ lín nhÊt trong biÓu thøc. Hµm MAX ®−îc dïng víi c¸c cét cã gi¸ trÞ sè, ký tù, vµ ngµy giê nh−ng kh«ng dïng víi cét cã gi¸ trÞ bit. MIN: Tr¶ vÒ gi¸ trÞ nhá nhÊt trong biÓu thøc. Hµm MIN ®−îc dïng víi c¸c cét cã gi¸ trÞ sè, ký tù, vµ ngµy giê nh−ng kh«ng dïng víi cét cã gi¸ trÞ bit. 69
  7. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com SUM: Tr¶ vÒ gi¸ trÞ tæng cña tÊt c¶ c¸c gi¸ trÞ hoÆc chØ ®èi víi c¸c gi¸ trÞ kh«ng lÆp trong biÓu thøc. SUM chØ dïng cho c¸c cét cã gi¸ trÞ sè. ALL: Hµm tæng hîp cã t¸c dông ®èi víi tÊt c¶ c¸c gi¸ trÞ vµ ALL lµ gi¸ trÞ ngÇm ®Þnh. DISTINCT: Lo¹i bá c¸c gi¸ trÞ ®óp tr−íc khi thùc hiÖn hµm tæng hîp. BiÓu thøc: Lµ tªn cét, h»ng sè, hµm, hoÆc lµ sù kÕt hîp cña c¸c tªn cét, h»ng sè, vµ c¸c hµm b»ng c¸c to¸n tö sè häc hoÆc c¸c to¸n tö bÝt. VÝ dô: A. Hµm SUM vµ hµm AVG SELECT AVG(advance), SUM(ytd_sales) FROM titles WHERE type = 'business' B. Hµm SUM vµ AVG dïng víi mÖnh ®Ò GROUP BY SELECT type, AVG(advance), SUM(ytd_sales) FROM titles GROUP BY type C. Hµm COUNT sö dông DISTINCT: SELECT COUNT(DISTINCT city) FROM authors D. Hµm COUNT(*) trong GROUP BY HAVING: SELECT type FROM titles GROUP BY type HAVING COUNT(*) > 1 E. Hµm SUM vµ AVG trong HAVING: SELECT pub_id, SUM(advance), AVG(price) FROM titles 70
  8. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com GROUP BY pub_id HAVING SUM(advance) > $25000 AND AVG(price) > $15 6. C¸c kÕt nèi b¶ng: C¸c mÖnh ®Ò kÕt nèi b¶ng chuÈn cña ANSI gåm; -INNER JOIN -LEFT JOIN -LEFT [OUTER] JOIN -RIGHT JOIN -RIGHT [OUTER] JOIN -FULL JOIN -FULL [OUTER] JOIN Trong ®ã: INNER JOIN: X¸c ®Þnh gi¸ trÞ tr¶ vÒ gåm nh÷ng dßng gi¸ trÞ cïng thuéc c¶ hai b¶ng. LEFT JOIN: X¸c ®Þnh dßng gi¸ trÞ tr¶ vÒ thuéc b¶ng bªn tr¸i cña liªn kÕt. 71
  9. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com LEFT OUTER JOIN: X¸c ®Þnh dßng gi¸ trÞ tr¶ vÒ thuéc b¶ng bªn tr¸i cña liªn kÕt mµ kh«ng cã trong b¶ng bªn ph¶i cña liªn kÕt. RIGHT JOIN: X¸c ®Þnh dßng gi¸ trÞ tr¶ vÒ thuéc b¶ng bªn ph¶i cña liªn kÕt. RIGHT OUTER JOIN: X¸c ®Þnh dßng gi¸ trÞ tr¶ vÒ thuéc b¶ng bªn ph¶i cña liªn kÕt mµ kh«ng cã trong b¶ng bªn tr¸i cña liªn kÕt. FULL JOIN: X¸c ®Þnh dßng gi¸ trÞ tr¶ vÒ thuéc c¶ hai b¶ng cña liªn kÕt. 72
  10. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com FULL OUTER JOIN: X¸c ®Þnh dßng gi¸ trÞ tr¶ vÒ kh«ng thuéc c¶ hai b¶ng cña liªn kÕt. ii) Sau ®©y lµ mét sè lÖnh vµ hµm th−êng hay dïng trong Transact SQL . Chó ý : C¸c c©u lÖnh trong Microsoft SQL Server th−êng hay cã c¸c to¸n tö ®iÒu kiÖn, biÓu thøc logic, tõ kho¸, to¸n tö chØ ®Þnh vµ c¸c tiªu thøc lÖnh s¾p nhãm , s¾p xÕp indexes hay mét sè to¸n tö kh¸c... Th−êng ®i theo sau c¸c tõ kho¸ lÖnh mµ c¸c tõ kho¸ nµy ®· diÔn gi¶i râ ë trªn c¸c c©u lÖnh trªn(Select, insert, update .. ..) 1) T¹o table (Creates a new table.): cã hai lo¹i table - C¸c d¹ng table t¹m thêi - C¸c d¹ng table cè ®Þnh Có ph¸p: CREATE TABLE [ database_name.[owner]. | owner.] table_name { | column_name AS computed_column_expression | } [,...n] ) [ON {filegroup | DEFAULT} ] [TEXTIMAGE_ON {filegroup | DEFAULT} ] 73
  11. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com DiÔn gi¶i: ::= { column_name data_type } [ [ DEFAULT constant_expression ] | [ IDENTITY [(seed, increment ) [NOT FOR REPLICATION] ] ] ] [ ROWGUIDCOL ] [ ] [ ...n] ::= [CONSTRAINT constraint_name] { [ NULL | NOT NULL ] |[ { PRIMARY KEY | UNIQUE } [CLUSTERED | NONCLUSTERED] [WITH FILLFACTOR = fillfactor] [ON {filegroup | DEFAULT} ]] ] |[ [FOREIGN KEY] REFERENCES ref_table [(ref_column) ] [NOT FOR REPLICCTION] ] | CHECK [NOT FOR REPLICATION] (logical_expression) } ::= [CONSTRAINT constraint_name] { [ { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED] { ( column[,...n] ) } 74
  12. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com [ WITH FILLFACTOR = fillfactor] [ON {filegroup | DEFAULT} ] ] | FOREIGN KEY [(column[,...n])] REFERENCES ref_table [(ref_column[,...n])] [NOT FOR REPLICATION] | CHECK [NOT FOR REPLICATION] (search_conditions)} C¸c tham sè : a) database_name: Tªn database b) owner : quyÒn Owner d) table_name: Tªn Table e) column_name: Sè cét n»m trong Table Vµ sau d©y lµ mét sè th«ng sè quan träng: +computed_column_expression: lµ c¸c tªn cét n»m trong c¸c thµnh phÇn sau : PRIMARY KEY, UNIQUE, FOREIGN KEY, DEFAULT ®−îc ®Þnh nghÜa. + ON {filegroup | DEFAULT} : Nhãm fie –trong phÇn database mµ b¹n ®· biÕt khi t¹o CSDL. + TEXTIMAGE_ON + data_type : KiÓu d÷ liÖu + NULL | NOT NULL : Cã gi¸ trÞ NULL hay kh«ng cã + PRIMARY KEY : Kho¸ trong + UNIQUE : H¹n chÕ trïng lÆp + CLUSTERED | NONCLUSTERED : S¾p xÕp 75
  13. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com + [WITH FILLFACTOR = fillfactor] + FOREIGN KEY...REFERENCES : Kho¸ ngoµi - ref_table : Tªn cña b¶ng TABLE kh¸c khi c©u lÖnh nµy cÇn liªn kÕt víi c¸c kho¸ ngoµi - (ref_column[,...n]) : tõng cét cña Table ®−îc chØ ®Þnh + CHECK : cã dïng tõ kho¸ CHECK (h¹n chÕ trïng lÆp) hay kh«ng ? + logical_expression: BiÓu thøc logic kÌm theo Ngoµi ra con cã c¸c d¹ng thiÕt lËp kh¸c: + Create View View_name AS Select Statemant + Create Procedure + Create default + Create Index + Create Rule + Create Trigger. + Create Database :ThiÕt lËp CSDL D¹ng lÖnh: T−¬ng tù nh− lÖnh thiÕt lËp b¶ng tuy nhiªn cã mét sè th«ng sè kh¸c. Có ph¸p: CREATE DATABASE database_name [ ON [PRIMARY] [ [,...n] [, [,...n] ]] [ LOG ON { [,...n]} ] [ FOR LOAD | FOR ATTACH ] DiÓn gi·i: +database_name: Tªn datatbase + ON [PRIMARY] [ [,...n] : ChØ ®Þnh kho¸ trong 76
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2