Êý¾Ý¿âʵÑ鱨¸æ²á ÏÂÔØ±¾ÎÄ

¡¶Êý¾Ý¿âÔ­Àí¡·ÊµÑé °à¼¶£º ѧºÅ£º ÐÕÃû£º

Èý¡¢ÊµÑé¿ÎºóѵÁ·

1. ÕÆÎÕSQL SERVERÖÐÁ÷¿ØÖÆÓï¾ä¼°ÆäËü³£Óñà³ÌÓï¾ä£»

1£© ʹÓòéѯ·ÖÎöÆ÷£¬±àд´úÂ룬Êä³ö³Ë·¨¿Ú¾÷±í¡£

2. ×ÔÐÐÁ·Ï°ÊµÑéÖ¸µ¼ÊéP24¡¾ÊµÑé1.2 Êý¾Ý²éѯ¡¿1.2.5×ÔÎÒʵ¼ù²¿·Ö£» 3. ×ÔÐÐÁ·Ï°ÊµÑéÖ¸µ¼ÊéP30¡¾ÊµÑé1.3 Êý¾Ý¸üС¿1.3.5×ÔÎÒʵ¼ù²¿·Ö£» 4. ×ÔÐÐÁ·Ï°ÊµÑéÖ¸µ¼ÊéP36¡¾ÊµÑé1.4 ÊÓͼ¡¿1.4.5×ÔÎÒʵ¼ù²¿·Ö£»

5. ×ÔÐÐÁ·Ï°ÊµÑéÖ¸µ¼ÊéP49¡¾ÊµÑé1.6 ¿ÕÖµºÍ¿Õ¼¯µÄ´¦Àí¡¿1.6.5×ÔÎÒʵ¼ù²¿·Ö£» ËÄ¡¢ÊµÑ鱨¸æ

1. SQL SERVERÖбäÁ¿ÉùÃ÷µÄÃüÁîÊÇʲô£¿Êä³öÃüÁîÊÇʲô£¿

Declare @variable_name //¾Ö²¿±äÁ¿Ãû³Æ Datatype //Êý¾ÝÀàÐÍ

2. SQL SERVERÖÐʵÏÖ·ÖÖ§ºÍÑ­»·µÄÓï¾ä·Ö±ðÊÇʲô£¿

·ÖÖ§£º

case when Ìõ¼þ1 then ½á¹û1 when Ìõ¼þ2 then ½á¹û2 [else ÆäËû½á¹û] end Ñ­»·£º

while (Ìõ¼þ--Ö»ÄÜÊDZí´ïʽ) Óï¾ä»òÓï¾ä¿é [break]--Ç¿ÖÆÍ˳ö

3. ÔÚSQL SERVERÀïʹÓÃORDER BYÅÅÐòʱ£¬NULLÖµÈçºÎ´¦Àí£¿Ê¹ÓÃGROUP BY·Ö×é

ʱ£¬NULLÖµÓÖÈçºÎ´¦ÀíµÄ£¿

ÔÚʹÓÃORDER BY ½øÐÐÅÅÐòʱ£¬ÓÐASC£¨ÉýÐò£©ºÍDESC£¨½µÐò£©Á½ÖÖ·½Ê½¡£ÎÞÂÛ²ÉÓÃÄÄÖÖ·½Ê½£¬NULLÖµ×ܱ»µ±×÷×îСֵ´¦Àí¡£¼´ÔÚ°´ÉýÐòÅÅÁÐʱ£¬È¡¿ÕÖµµÄÔª×齫×îÏÈÏÔʾ£¬°´½µÐòÅÅʱ£¬È¡¿ÕÖµµÄÔª×齫»á×îºóÏÔʾ¡£

ʹÓÃGROUP BY ½øÐÐÅÅÐò£¬È¡¿ÕÖµµÄÏî²»ÊDZ»ºöÂÔ£¬¶øÊǽ«NULL¿´³ÉÒ»¸öȡֵ£¬ÔÚ´¦ÀíµÄʱºò°ÑËùÓÐÈ¡¿ÕÖµµÄÏî¶¼¿´³ÉÒ»Ñù£¬Òò¶øÐγÉÒ»¸ö·Ö×é¡£

4. ʵÑé×ܽᣨʵÑé¹ý³ÌÖгöÏÖµÄÎÊÌâ¡¢½â¾ö·½·¨¡¢½á¹ûÈçºÎ»òÆäËü£©

Óкöà´ÎÔËÐж¼ÊÇÓмì²éÍê³Éµ«ÊÇÖ´ÐдíÎ󣬾­¼ì²é²ÅÖªµÀÊÇÉÏÃæµÄÊý¾Ý¿âĬÈÏÊÇmaster£¬¶ø²»ÊÇÒªÖ´ÐеÄÊý¾Ý¿â¡£ÓÉÓÚ´ÖÐĵ¼ÖµÄ×Öĸƴд´íÎ󣬵¼ÖÂÖ´Ðнá¹û³ö´í¡£²»»áʹÓÃǶÌ×Óï¾ä£¬¾­¹ý·ÖÎöÊéÉϵijÌÐò¶Î£¬ÂÔ΢¶®ÁËÒ»µã¡£Ïò±íÖвåÈë¼Ç¼£¬Ó¦¸ÃÓÃinsert into ±íÃû values£¨ÁÐÊôÐÔ£©.´´½¨ÊÓͼÓÃcreate view (ÊÓͼÃû) as from ±íÃû ¡£¾­¹ýÊÔÑéÑéÖ¤£¬Ã÷°×with check option ¿ÉÒÔ×Ô¶¯É¸Ñ¡²»·ûºÏÌõ¼þµÄ¼Ç¼¡£

11

¡¶Êý¾Ý¿âÔ­Àí¡·ÊµÑé °à¼¶£º ѧºÅ£º ÐÕÃû£º ʵÑéÈý¡ª¡ªÊý¾Ý¿âÍêÕûÐÔÓ밲ȫÐÔ Ò»¡¢ÊµÑéÄ¿µÄ

1. Àí½âʵÌåÍêÕûÐÔ¡¢²ÎÕÕÍêÕûÐÔ¡¢Óû§×Ô¶¨ÒåÍêÕûÐԵĸÅÄѧϰÈýÀàÍêÕûÐÔµÄʵÏÖ£¬ÁË

½âÎ¥·´ÍêÕûÐԵĽá¹û£»

2. ÕÆÎÕMS SQL SERVERÖеÄÓйØÓû§µÇ¼ÈÏÖ¤¼°¹ÜÀí·½·¨£¬ÊìÁ·Ê¹ÓÃ×ÔÖ÷´æÈ¡¿ØÖƽøÐÐ

ȨÏÞ¹ÜÀí£»

¶þ¡¢ÊµÑéԤϰÄÚÈÝ

ÔÚÈÏÕæÔĶÁ½Ì²Ä¼°ÊµÑéÖ¸µ¼Ê顾2.1 ʵÌåÍêÕûÐÔ¡¿¡¢¡¾2.2 ²ÎÕÕÍêÕûÐÔ¡¿¡¢¡¾2.3 Óû§×Ô¶¨ÒåÍêÕûÐÔ¡¿¡¢¡¾2.4 ´¥·¢Æ÷¡¿¡¢¡¾2.5 ×ۺϰ¸Àý¡¿ºÍ¡¾3.1 Óû§±êʶÓë¼ø±ð¡¿¡¢¡¾3.2 ×ÔÖ÷´æÈ¡¿ØÖÆ¡¿¡¢¡¾3.3 ÊÓͼ»úÖÆÔÚ×ÔÖ÷´æÈ¡¿ØÖÆÉϵÄÓ¦Óá¿¡¢¡¾3.4 Public½ÇÉ«ÔÚ°²È«ÐÔÖеÄÓ¦Óá¿¡¢¡¾3.8 ×ۺϰ¸Àý¡¿µÄ»ù´¡ÉÏ£¬ÉÏ»úǰÇëԤϰÒÔÏÂÄÚÈÝ£¬²¢ÔÚ¿Õ°×´¦ÌîдÏàÓ¦µÄ²½Öè»òÃüÁî¡£ 1. ʹÓÃSCHOOLÊý¾Ý¿â

1£© ´´½¨Ò»ÕÅбíCLASS£¬°üÀ¨Class_id£¨varchar£¨4£©£©£¬Name£¨varchar£¨10£©£©£¬Department

£¨varchar£¨20£©£©Èý¸öÊôÐÔÁУ¬ÆäÖÐClass_idΪÖ÷Â룻 create table class

(Class_id varchar(4) primary key, Name varchar(10),

Department varchar(20) )

2£© Ö´ÐÐÁ½´ÎÏàͬµÄ²åÈë²Ù×÷£¨¡¯0001¡¯£¬¡¯01csc¡¯,¡¯cs¡¯£©£¬½á¹ûÈçºÎ£» insert

into CLASS

values('0001','01CSC','CS')

µÚÒ»´Î²åÈ룺µÚ¶þ´Î²åÈ룺

2. ʹÓÃSQLÃüÁî´´½¨Ò»ÕÅѧÉú»¥Öú±í£¬ÒªÇ󣺰üÀ¨Ñ§Éú±àºÅ¡¢Ñ§ÉúÐÕÃû¡¢Ñ§Éú°ïÖú¶ÔÏóµÄ

±àºÅ£¬Ã¿¸öѧÉúÓÐÇÒ½öÓÐÒ»¸ö°ïÖú¶ÔÏ󣬰ïÖúµÄ¶ÔÏó±ØÐëÊÇÒÑ´æÔÚµÄѧÉú¡£ create table ѧÉú»¥Öú±í (sid varchar(10) primary key, sname varchar(30),

s_id varchar(10) unique,

foreign key (s_id) references ѧÉú»¥Öú±í(sid) );

12

¡¶Êý¾Ý¿âÔ­Àí¡·ÊµÑé °à¼¶£º ѧºÅ£º ÐÕÃû£º

3. ʹÓÃSTCÊý¾Ý¿â£¬ÐÞ¸ÄÉèÖã¬Íê³ÉÒÔÏÂ2ÖÖ²»Í¬µÄÒªÇó£¬Çëд³ö¶ÔÓ¦µÄÓï¾ä»ò¼òÊö²Ù×÷

¹ý³Ì£º

1£© µ±¸üС¢É¾³ýSTU±íÖмǼʱ£¬ÈôSC±íÖÐÓдËѧÉúµÄ¼Ç¼£¬Ôò¾Ü¾ø£» Alter table sc

Add constraint c1 foreign key(sno) references stu(sno) On update no action On delete no action

2£© µ±¸üС¢É¾³ýSTU±íÖмǼʱ£¬ÈôSC±íÖÐÓдËѧÉúµÄ¼Ç¼£¬Ôò×Ô¶¯¸üлòɾ³ý£» Alter table sc

Add constraint c2 foreign key(sno) references stu(sno) On update cascade On delete cascade

4. ʹÓÃSQLÃüÁîÍê³ÉÒÔÏÂÈÎÎñ£º

1£© ´´½¨Worker±í£¨±í½á¹¹¼ûÖ¸µ¼ÊéP73£© create table worker (number char(5),

name char(8) constraint U1 unique, sex char (1),

sage int constraint U2 check (sage<=28), deapartment char (20),

constraint PK_worker primary key(number) )

2£© ¶¨ÒåÔ¼ÊøU1¡¢U2£¬ÆäÖÐU1¹æ¶¨Name×Ö¶ÎȡֵΨһ£¬U2¹æ¶¨sage×Ö¶ÎÉÏÏÞÊÇ28£» 3£© ²åÈëÒ»ÌõºÏ·¨¼Ç¼£» insert

into worker

values('123','СÃ÷','m',20,'cs')

4£© ²åÈëÒ»ÌõÎ¥·´U2Ô¼ÊøµÄ¼Ç¼£¬¼òÊö¹Û²ìµ½µÄ½á¹ûÈçºÎ£¿²¢·ÖÎöÔ­Òò£» insert

into worker

values('123','СÃ÷','m',29,'cs')

Ô­Òò£ºsageµÄÖµ±ØÐë<=28¡£ 5£© È¥³ýU1Ô¼Êø£»

13

¡¶Êý¾Ý¿âÔ­Àí¡·ÊµÑé °à¼¶£º ѧºÅ£º ÐÕÃû£º alter table worker drop constraint U1;

6£© ÐÞ¸ÄÔ¼ÊøU2£¬ÁîsageµÄÖµ´óÓÚµÈÓÚ0£» alter table worker drop constraint U2; alter table worker

add constraint U2 check (sage>=0); 7£© ´´½¨¹æÔòrule_sex£¬¹æ¶¨¸üлò²åÈëµÄÖµÖ»ÄÜÊÇM»òF£¬²¢°ó¶¨µ½WorkerµÄsex×ֶΣ» Go

Create Rule rule_sex as @value in('F','M') Go

exec sp_bindrule rule_sex,'Worker.[sex]';

8£© ²åÈë2Ìõ¼Ç¼£¬Ò»ÌõÂú×ã¹æÔòrule_sex£¬Ò»ÌõÎ¥·´¹æÔò£¬¹Û²ì½á¹û¡£ Insert into Worker

values ('00005','СÀî','m',15,'¿Æ¼¼²¿')

Insert into Worker

values ('00005','СÀî','a',15,'¿Æ¼¼²¿')

5. ʹÓòéѯ·ÖÎöÆ÷´´½¨´¥·¢Æ÷²¢²âÊÔ£¬Çëд³öÏàÓ¦µÄÓï¾ä£º

1£© ΪWorker±í´´½¨´¥·¢Æ÷T1£¬µ±²åÈë»ò¸üбíÖÐÊý¾Ýʱ£¬±£Ö¤Ëù²Ù×÷¼Ç¼µÄsage´óÓÚ

0£»

create trigger t1 on worker

for insert,update as

if(select sage from inserted)<1 rollback transaction

2£© ΪWorker±í´´½¨´¥·¢Æ÷T2£¬½ûֹɾ³ý±àºÅΪ00001µÄ¼Ç¼£» create trigger t2 on worker for delete as

if(select number from deleted)= '00001' rollback transaction

3£© ΪWorker±í´´½¨´¥·¢Æ÷T3£¬ÒªÇó¸üÐÂÒ»¸ö¼Ç¼ʱ£¬±íÖмǼµÄsageÒª±ÈÀϼǼµÄ

sageµÄÖµ´ó¡£

14