Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
40
Добавлен:
16.04.2013
Размер:
13.73 Кб
Скачать

Understanding SQL.Chapter 15. ччпд, хдбмеойе Й йънеоеойе ъобюеойк рпмек ьфб змбчб ртедуфбчмсеф лпнбодщ лпфптще ХРТБЧМСАФ ЪОБЮЕОЙСНЙ РТЕДУФБЧМСЕНЩНЙ Ч ФБВМЙГЕ. лПЗДБ ЧЩ ЪБЛПОЮЙФЕ ЬФХ ЗМБЧХ, ЧЩ ВХДЕФЕ УРПУПВОЩ РПНЕЭБФШ УФТПЛЙ Ч ФБВМЙГХ, ХДБМСФШ ЙИ, Й ЙЪНЕОСФШ ЙОДЙЧЙДХБМШОЩЕ ЪОБЮЕОЙС РТЕДУФБЧМЕООЩЕ Ч ЛБЦДПК УФТПЛЕ. вХДЕФ РПЛБЪБОП ЙУРПМШЪПЧБОЙЕ ЪБРТПУПЧ Ч ЖПТНЙТПЧБОЙЙ РПМОПК ЗТХРРЩ УФТПЛ ДМС ЧУФБЧЛЙ, Б ФБЛЦЕ, ЛБЛ НПЦЕФ ЙУРПМШЪПЧБФШУС РТЕДЙЛБФ ДМС ХРТБЧМЕОЙС ЙЪНЕОЕОЙС ЪОБЮЕОЙК Й ХДБМЕОЙС УФТПЛ. нБФЕТЙБМ Ч ЬФПК ЗМБЧЕ УПУФБЧМСЕФ РПМОЩК ПВЯЕН ЪОБОЙК РПЛБЪЩЧБАЭЙК, ЛБЛ УПЪДБЧБФШ Й ХРТБЧМСФШ ЙОЖПТНБГЙЕК Ч ВБЪЕ ДБООЩИ. вПМЕЕ НПЭОЩЕ УРПУПВЩ РТПЕЛФЙТПЧБОЙ РТЕДЙЛБФПЧ ВХДХФ ПВУХЦДЕОЩ Ч УМЕДХАЭЕК ЗМБЧЕ. лпнбодщ нпдйжйлбгйй същлб DML ъОБЮЕОЙС НПЗХФ ВЩФШ РПНЕЭЕОЩ Й ХДБМЕОЩ ЙЪ РПМЕК, ФТЕН ЛПНБОДБНЙ СЪЩЛБ DML ( сЪЩЛ нБОЙРХМЙТПЧБОЙС дБООЩНЙ ): INSERT (чуфбчйфш), UPDATE (нпдйжйгйтпчбфш), DELETE (хдбмйфш). оЕ УНХЭБКФЕУШ, ЧУЕ ПОЙ ХРПНЙОБМЙУШ ТБОЕЕ Ч SQL, ЛБЛ ЛПНБОДЩ НПДЙЖЙЛБГЙЙ. ччпд ъобюеойк чУЕ УФТПЛЙ Ч SQL ЧЧПДСФУС У ЙУРПМШЪПЧБОЙЕН ЛПНБОДЩ НПДЙЖЙЛБГЙЙ INSERT. ч УБНПК РТПУФПК ЖПТНЕ, INSERT ЙУРПМШЪХЕФ УМЕДХАЭЙК УЙОФБЛУЙУ: INSERT INTO VALUES ( , . . .); фБЛ, ОБРТЙНЕТ, ЮФПВЩ ЧЧЕУФЙ УФТПЛХ Ч ФБВМЙГХ рТПДБЧГПЧ, ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ УМЕДХАЭЕЕ ХУМПЧЙЕ: INSERT INTO Salespeople VALUES (1001, 'Peel', 'London', .12); лПНБОДЩ DML ОЕ РТПЙЪЧПДСФ ОЙЛБЛПЗП ЧЩЧПДБ, ОП ЧБЫБ РТПЗТБННБ ДПМЦОБ ДБФШ ЧБН ОЕЛПФПТПЕ РПДФЧЕТЦДЕОЙЕ ФПЗП ЮФП ДБООЩЕ ВЩМЙ ЙУРПМШЪПЧБОЩ. йН ФБВМЙГЩ ( Ч ОБЫЕН УМХЮБЕ - Salespeople (рТПДБЧГЩ)), ДПМЦОП ВЩФШ РТЕДЧБТЙФЕМШОП ПРТЕДЕМЕОП, Ч ЛПНБОДЕ CREATE TABLE ( УН. зМБЧХ 17 ), Б ЛБЦДПЕ ЪОБЮЕОЙЕ РТПОХНЕТПЧБООПЕ Ч РТЕДМПЦЕОЙЙ ЪОБЮЕОЙК, ДПМЦОП УПЧРБДБФШ У ФЙРПН ДБООЩИ УФПМВГБ, Ч ЛПФПТЩК ПОП ЧУФБЧМСЕФУС. ч ANSI, ЬФЙ ЪОБЮЕОЙС ОЕ НПЗХФ УПУФБЧМСФШ ЧЩТБЦЕОЙК, ЮФП ПЪОБЮБЕФ ЮФП 3 - ЬФП ДПУФХРОП, Б ЧЩТБЦЕОЙЕ 2 + 1 - ОЕФ. ъОБЮЕОЙС, ЛПОЕЮОП ЦЕ, ЧЧПДСФУС Ч ФБВМЙГХ Ч РПЙНЕООПН РПТСДЛЕ, РПЬФПНХ РЕТЧПЕ ЪОБЮЕОЙЕ У ЙНЕОЕН, БЧФПНБФЙЮЕУЛЙ РПРБДБЕФ Ч УФПМВЕГ 1, ЧФПТПЕ Ч УФПМВЕГ 2, ОБ ФБЛ ДБМЕЕ. чуфбчлб рхуфщи хлбъбфемек (NULL) еУМЙ ЧБН ОХЦОП ЧЧЕУФЙ РХУФПЕ ЪОБЮЕОЙЕ(NULL), ЧЩ ЧЧПДЙФЕ ЕЗП ФПЮОП ФБЛ- ЦЕ ЛБЛ Й ПВЩЮОПЕ ЪОБЮЕОЙЕ. рТЕДРПМПЦЙН, ЮФП ЕЭЕ ОЕ ЙНЕМПУШ РПМ city ДМС НЙУФЕТБ Peel. чЩ НПЦЕФЕ ЧУФБЧЙФШ ЕЗП УФТПЛХ УП ЪОБЮЕОЙЕН=NULL Ч ЬФП РПМЕ, УМЕДХАЭЙН ПВТБЪПН: INSERT INTO Salespeople VALUES (1001, 'Peel', NULL, .12); фБЛ ЛБЛ ЪОБЮЕОЙЕ NULL - ЬФП УРЕГЙБМШОЩК НБТЛЕТ, Б ОЕ РТПУФП УЙНЧПМШОПЕ ЪОБЮЕОЙЕ, ПО ОЕ ЧЛМАЮБЕФУС Ч ПДЙОПЮОЩЕ ЛБЧЩЮЛЙ. йнеопчбойе уфпмвгб дмс чуфбчлй (INSERT) чЩ НПЦЕФЕ ФБЛЦЕ ХЛБЪЩЧБФШ УФПМВГЩ, ЛХДБ ЧЩ ИПФЙФЕ ЧУФБЧЙФШ ЪОБЮЕОЙЕ ЙНЕОЙ. ьФП РПЪЧПМСЕФ ЧБН ЧУФБЧМСФШ ЙНЕОБ Ч МАВПН РПТСДЛЕ. рТЕДРПМПЦЙН ЮФП ЧЩ ВЕТЕФЕ ЪОБЮЕОЙС ДМС ФБВМЙГЩ ъБЛБЪЮЙЛПЧ ЙЪ ПФЮЕФБ ЧЩЧПДЙНПЗП ОБ РТЙОФЕТ, ЛПФПТЩК РПНЕЭБЕФ ЙИ Ч ФБЛПН РПТСДЛЕ: city, cname, Й cnum, Й ДМС ХРТПЭЕОЙС, ЧЩ ИПФЙФЕ ЧЧЕУФЙ ЪОБЮЕОЙС Ч ФПН ЦЕ РПТСДЛЕ: INSERT INTO Customers (city, cnamЕ, cnum) VALUES ('London', 'Honman', 2001); пВТБФЙФЕ ЧОЙНБОЙЕ ЮФП УФПМВГЩ rating Й snum - ПФУХФУФЧХАФ. ьФП ЪОБЮЙФ, ЮФП ЬФЙ УФТПЛЙ БЧФПНБФЙЮЕУЛЙ ХУФБОПЧМЕОЩ Ч ЪОБЮЕОЙЕ - РП ХНПМЮБОЙА. рП ХНПМЮБОЙА НПЦЕФ ВЩФШ ЧЧЕДЕОП ЙМЙ ЪОБЮЕОЙЕ NULL ЙМЙ ДТХЗПЕ ЪОБЮЕ- ОЙЕ ПРТЕДЕМСЕНПЕ ЛБЛ - РП ХНПМЮБОЙА. еУМЙ ПЗТБОЙЮЕОЙЕ ЪБРТЕЭБЕФ ЙУРПМШЪПЧБОЙЕ ЪОБЮЕОЙС NULL Ч ДБООПН УФПМВГЕ, Й ЬФПФ УФПМВЕГ ОЕ ХУФБОПЧМЕО ЛБЛ РП ХНПМЮБОЙА, ЬФПФ УФПМВЕГ ДПМЦЕО ВЩФШ ПВЕУРЕЮЕО ЪОБЮЕОЙЕН ДМС МАВПК ЛПНБОДЩ INSERT ЛПФПТБС ПФОПУЙФУС Л ФБВМЙГЕ( УНПФТЙ зМБЧХ 18 ДМС ЙОЖПТНБГЙЙ ПВ ПЗТБОЙЮЕОЙСИ ОБ NULL Й ОБ "РП ХНПМЮБОЙА" ). чуфбчлб теъхмшфбфпч ъбртпуб чЩ НПЦЕФЕ ФБЛЦЕ ЙУРПМШЪПЧБФШ ЛПНБОДХ INSERT ЮФПВЩ РПМХЮБФШ ЙМЙ ЧЩ- ВЙТБФШ ЪОБЮЕОЙС ЙЪ ПДОПК ФБВМЙГЩ Й РПНЕЭБФШ ЙИ Ч ДТХЗХА, ЮФПВЩ ЙУРПМШЪПЧБФШ ЙИ ЧНЕУФЕ У ЪБРТПУПН. юФПВЩ УДЕМБФШ ЬФП, ЧЩ РТПУФП ЪБНЕОСЕФЕ РТЕДМПЦЕОЙЕ VALUES (ЙЪ РТЕДЩДХЭЕЗП РТЙНЕТБ) ОБ УППФЧЕФУФЧХАЭЙК ЪБРТПУ: INSERT INTO Londonstaff SELECT * FROM Salespeople WHERE city = 'London'; ъДЕУШ ЧЩВЙТБАФУС ЧУЕ ЪОБЮЕОЙС РТПЙЪЧЕДЕООЩЕ ЪБРТПУПН - ФП ЕУФШ ЧУЕ УФТПЛЙ ЙЪ ФБВМЙГЩ рТПДБЧГПЧ УП ЪОБЮЕОЙСНЙ city = "London" - Й РПНЕЭБАФУС Ч ФБВМЙГХ ОБЪЩЧБЕНХА Londonstaff. юФПВЩ ЬФП ТБВПФБМП, ФБВМЙГБ Londonstaff ДПМЦОБ ПФЧЕЮБФШ УМЕДХАЭЙН ХУМПЧЙСН: * пОБ ДПМЦОБ ХЦЕ ВЩФШ УПЪДБОБ ЛПНБОДПК CREATE TABLE. * пОБ ДПМЦОБ ЙНЕФШ ЮЕФЩТЕ УФПМВГБ ЛПФПТЩЕ УПЧРБДБАФ У ФБВМЙГЕК рТПДБЧГПЧ Ч ФЕТНЙОБИ ФЙРБ ДБООЩИ; ФП ЕУФШ РЕТЧЩК, ЧФПТПК, Й ФБЛ ДБМЕЕ, УФПМВГЩ ЛБЦДПК ФБВМЙГЩ, ДПМЦОЩ ЙНЕФШ ПДЙОБЛПЧЩК ФЙР ДБООЩИ ( РТЙЮЕН ПОЙ ОЕ ДПМЦОЩ ЙНЕФШ ПДЙОБЛПЧЩИ ЙНЕО ). пВЭЕЕ РТБЧЙМП ФП, ЮФП ЧУФБЧМСЕНЩЕ УФПМВГЩ ФБВМЙГЩ, ДПМЦОЩ УПЧРБДБФШ УП УФПМВГБНЙ ЧЩЧПДЙНЩНЙ РПДЪБРТПУПН, Ч ДБООПН УМХЮБЕ, ДМС ЧУЕК ФБВ- МЙГЩ рТПДБЧГПЧ. Londonstaff - ЬФП ФЕРЕТШ ОЕЪБЧЙУЙНБ ФБВМЙГБ ЛПФПТБС РПМХЮЙМБ ОЕЛПФПТЩЕ ЪОБЮЕОЙС ЙЪ ФБВМЙГЩ рТПДБЧГПЧ(Salespeople). еУМЙ ЪОБЮЕОЙС Ч ФБВМЙГЕ рТПДБЧГПЧ ВХДХФ ЧДТХЗ ЙЪНЕОЕОЩ, ЬФП ОЙЛБЛ ОЕ ПФТБЪЙФУС ОБ ФБВМЙГЕ Londonstaff ( ИПФС ЧЩ НПЗМЙ ВЩ УПЪДБФШ ФБЛПК ЬЖЖЕЛФ, У РПНПЭША рТЕДУФБЧ- МЕОЙ( VIEW), ПРЙУБООПЗП Ч зМБЧЕ 20 ). фБЛ ЛБЛ ЙМЙ ЪБРТПУ ЙМЙ ЛПНБОДБ INSERT НПЗХФ ХЛБЪЩЧБФШ УФПМВГЩ РП ЙНЕОЙ, ЧЩ НПЦЕФЕ, ЕУМЙ ЪБИПФЙФЕ, РЕТЕНЕУФЙФШ ФПМШЛП ЧЩВТБООЩЕ УФПМВГЩ Б ФБЛ- ЦЕ РЕТЕХРПТСДПЮЙФШ ФПМШЛП ФЕ УФПМВГЩ ЛПФПТЩЕ ЧЩ ЧЩВТБМЙ. рТЕДРПМПЦЙН, ОБРТЙНЕТ, ЮФП ЧЩ ТЕЫЙМЙ УЖПТНЙТПЧБФШ ОПЧХА ФБВМЙГХ У ЙНЕОЕН Daytotals, ЛПФПТБС РТПУФП ВХДЕФ УМЕДЙФШ ЪБ ПВЭЙН ЛПМЙЮЕУФЧПН ДПММБТПЧ УХНН РТЙПВТЕФЕОЙК ХРПТСДПЮЕООЩИ ОБ ЛБЦДЩК ДЕОШ. чЩ НПЦЕФЕ ЧЧЕУФЙ ЬФЙ ДБООЩЕ ОЕЪБЧЙУЙНП ПФ ФБВМЙГЩ рПТСДЛПЧ, ОП УОБЮБМБ ЧЩ ДПМЦОЩ ЪБРПМОЙФШ ФБВМЙГХ Daytotals ЙОЖПТНБГЙЕК ТБОЕЕ РТЕДУФБЧМЕООПК Ч ФБВМЙГЕ рПТСДЛПЧ. рПОЙНБС ЮФП ФБВМЙГБ рПТСДЛПЧ ПИЧБФЩЧБЕФ РПУМЕДОЙК ЖЙОБОУПЧЩК ЗПД, Б ОЕ ФПМШЛП ОЕУЛПМШЛП ДОЕК, ЛБЛ Ч ОБЫЕН РТЙНЕТЕ, ЧЩ НПЦЕФЕ ЧЙДЕФШ РТЕЙНХЭЕУФЧП ЙУРПМШЪПЧБОЙС УМЕДХАЭЕЗП ХУМПЧЙС INSERT Ч РПДУЮЕФЕ Й ЧЧПДЕ ЪОБЮЕОЙК INSERT INTO Daytotals (date, total) SELECT odate, SUM (amt) FROM Orders GROUP BY odate; пВТБФЙФЕ ЧОЙНБОЙЕ ЮФП, ЛБЛ РТЕДМПЦЕОП ТБОЕЕ, ЙНЕОБ УФПМВГПЧ ФБВМЙГЩ рПТСДЛПЧ Й ФБВМЙГЩ Daytotals - ОЕ ДПМЦОЩ ВЩФШ ПДЙОБЛПЧЩНЙ. лТПНЕ ФПЗП, ЕУМЙ ДБФБ РТЙПВТЕФЕОЙС Й ПВЭЕЕ ЛПМЙЮЕУФЧП - ЬФП ЕДЙОУФЧЕООЩЕ УФПМВГЩ Ч ФБВМЙГЕ, Й ПОЙ ОБИПДСФУС Ч ДБООПН РПТСДЛЕ, ЙИ ЙНЕОБ НПЗХФ ВЩФШ ЙУЛМАЮЕОЩ ЙЪ ЧЩЧПДБ ЙЪ-ЪБ ЙИ ПЮЕЧЙДОПК РТПУФПФЩ. хдбмеойе уфтпл йъ фбвмйг чЩ НПЦЕФЕ ХДБМСФШ УФТПЛЙ ЙЪ ФБВМЙГЩ ЛПНБОДПК НПДЙЖЙЛБГЙЙ - DELETE. пОБ НПЦЕФ ХДБМСФШ ФПМШЛП ЧЧЕДЕООЩЕ УФТПЛЙ, Б ОЕ ЙОДЙЧЙДХБМШОЩЕ ЪОБЮЕ- ОЙ РПМЕК, ФБЛ ЮФП РБТБНЕФТ РПМ СЧМСЕФУС ОЕПВСЪБФЕМШОЩН ЙМЙ ОЕДПУФХРОЩН. юФПВЩ ХДБМЙФШ ЧУЕ УПДЕТЦБОЙЕ ФБВМЙГЩ рТПДБЧГПЧ, ЧЩ НПЦЕФЕ ЧЧЕУФЙ УМЕДХАЭЕЕ ХУМПЧЙЕ: DELETE FROM Salespeople; фЕРЕТШ ЛПЗДБ ФБВМЙГБ РХУФБ ЕЕ НПЦОП ПЛПОЮБФЕМШОП ХДБМЙФШ ЛПНБОДПК DROP TABLE ( ЬФП ПВЯСУОСЕФУС Ч зМБЧЕ 17 ). пВЩЮОП, ЧБН ОХЦОП ХДБМЙФШ ФПМШЛП ОЕЛПФПТЩЕ ПРТЕДЕМЕООЩЕ УФТПЛЙ ЙЪ ФБВ- МЙГЩ. юФПВЩ ПРТЕДЕМЙФШ ЛБЛЙЕ УФТПЛЙ ВХДХФ ХДБМЕОЩ, ЧЩ ЙУРПМШЪХЕФЕ РТЕДЙЛБФ, ФБЛ ЦЕ ЛБЛ ЧЩ ЬФП ДЕМБМЙ ДМС ЪБРТПУПЧ. оБРТЙНЕТ, ЮФПВЩ ХДБМЙФШ РТПДБЧГБ Axelrod ЙЪ ФБВМЙГЩ, ЧЩ НПЦЕФЕ ЧЧЕУФЙ DELETE FROM Salespeople WHERE snum = 1003; нЩ ЙУРПМШЪПЧБМЙ РПМЕ snum ЧНЕУФП РПМ sname РПФПНХ, ЮФП ЬФП МХЮЫБС ФБЛФЙЛБ РТЙ ЙУРПМШЪПЧБОЙЙ РЕТЧЙЮОЩИ ЛМАЮЕК ЛПЗДБ ЧЩ ИПФЙФЕ ЮФПВЩ ДЕКУФЧЙА РПДЧЕТЗБМБУШ ПДОБ Й ФПМШЛП ПДОБ УФТПЛБ. дМС ЧБУ - ЬФП БОБМПЗЙЮОП ДЕКУФЧЙА РЕТЧЙЮОПЗП ЛМАЮ. лПОЕЮОП, ЧЩ НПЦЕФЕ ФБЛЦЕ ЙУРПМШЪПЧБФШ DELETE У РТЕДЙЛБФПН ЛПФПТЩК ВЩ ЧЩВЙТБМ ЗТХРРХ УФТПЛ, ЛБЛ РПЛБЪБОП Ч ЬФПН РТЙНЕТЕ: DELETE FROM Salespeople WHERE city = 'London'; йънеоеойе ъобюеойк рпмс фЕРЕТШ, ЛПЗДБ ЧЩ ХЦЕ НПЦЕФЕ ЧЧПДЙФШ Й ХДБМСФШ УФТПЛЙ ФБВМЙГЩ, ЧЩ ДПМЦОЩ ХЪОБФШ ЛБЛ ЙЪНЕОСФШ ОЕЛПФПТЩЕ ЙМЙ ЧУЕ ЪОБЮЕОЙС Ч УХЭЕУФЧХАЭЕК УФТПЛЕ. ьФП ЧЩРПМОСЕФУС ЛПНБОДПК UPDATE. ьФБ ЛПНБОДБ УПДЕТЦЙФ РТЕДМПЦЕОЙЕ UPDATE Ч ЛПФПТПК ХЛБЪБОП ЙН ЙУРПМШЪХЕНПК ФБВМЙГЩ Й РТЕДМПЦЕОЙЕ SET ЛПФПТПЕ ХЛБЪЩЧБЕФ ОБ ЙЪНЕОЕОЙЕ ЛПФПТПЕ ОХЦОП УДЕМБФШ ДМС ПРТЕДЕМЕООПЗП УФПМВГБ. оБРТЙНЕТ, ЮФПВЩ ЙЪНЕОЙФШ ПГЕОЛЙ ЧУЕИ ЪБЛБЪЮЙЛПЧ ОБ 200, ЧЩ НПЦЕФЕ ЧЧЕУФЙ UPDATE Customers SET rating = 200; нпдйжйгйтпчбойе фпмшлп пртедемеоощи уфтпл лПОЕЮОП, ЧЩ ОЕ ЧУЕЗДБ ЪБИПФЙФЕ ХЛБЪЩЧБФШ ЧУЕ УФТПЛЙ ФБВМЙГЩ ДМС ЙЪНЕОЕОЙС ЕДЙОУФЧЕООПЗП ЪОБЮЕОЙС, ФБЛ ЮФП UPDATE, ОБРПДПВЙЕ DELETE, НПЦЕФ ВТБФШ РТЕДЙЛБФЩ. чПФ ЛБЛ ОБРТЙНЕТ НПЦОП ЧЩРПМОЙФШ ЙЪНЕОЕОЙЕ ПДЙОБЛПЧПЕ ДМС ЧУЕИ ЪБЛБЪЮЙЛПЧ РТПДБЧГБ Peel ( ЙНЕАЭЕЗП snum=1001 ): UPDATE Customers SET rating = 200 WHERE snum = 1001; лпнбодб UPDATE дмс нопзйи уфпмвгпч пДОБЛП, ЧЩ ОЕ ДПМЦОЩ, ПЗТБОЙЮЙЧБФШ УЕВС НПДЙЖЙГЙТПЧБОЙЕН ЕДЙОУФЧЕООПЗП УФПМВГБ У РПНПЭША ЛПНБОДЩ UPDATE. рТЕДМПЦЕОЙЕ SET НПЦЕФ ОБЪОБЮБФШ МАВПЕ ЮЙУМП УФПМВГПЧ, ПФДЕМСЕНЩИ ЪБРСФЩНЙ. чУЕ ХЛБЪБООЩЕ ОБЪОБЮЕОЙС НПЗХФ ВЩФШ УДЕМБОЩ ДМС МАВПК ФБВМЙЮОПК УФТПЛЙ, ОП ФПМШЛП ДМС ПДОПК Ч ЛБЦДЩК НПНЕОФ ЧТЕНЕОЙ. рТЕДРПМПЦЙН, ЮФП РТПДБЧЕГ Motika ХЫЕМ ОБ РЕОУЙА, Й НЩ ИПФЙН РЕТЕОБЪОБЮЙФШ ЕЗП ОПНЕТ ОПЧПНХ РТПДБЧГХ: UPDATE Salespeople SET sname = 'Gibson',city = 'Boston',comm = .10 WHERE snum = 1004; ьФБ ЛПНБОДБ РЕТЕДБУФ ОПЧПНХ РТПДБЧГХ Gibson, ЧУЕИ ФЕЛХЭЙИ ЪБЛБЪЮЙЛПЧ ВЩЧ- ЫЕЗП РТПДБЧГБ Motika Й РПТСДЛЙ, Ч ФПН ЧЙДЕ Ч ЛПФПТПН ПОЙ ВЩМЙ УЛПНРПОПЧБОЩ ДМС Motika У РПНПЭША РПМ snum. чЩ ОЕ НПЦЕФЕ, ПДОБЛП, НПДЙЖЙГЙТПЧБФШ УТБЪХ НОПЗП ФБВМЙГ Ч ПДОПК ЛПНБОДЕ, ЮБУФЙЮОП РПФПНХ, ЮФП ЧЩ ОЕ НПЦЕФЕ ЙУРПМШЪПЧБФШ РТЕЖЙЛУЩ ФБВМЙГЩ УП УФПМВГБНЙ ЙЪНЕОЕООЩНЙ РТЕДМПЦЕОЙЕН SET. дТХЗЙНЙ УМПЧБНЙ, ЧЩ ОЕ НПЦЕФЕ УЛБЪБФШ - "SET Salespeople.sname = Gibson" Ч ЛПНБОДЕ UPDATE, ЧЩ НПЦЕФЕ УЛБЪБФШ ФПМШЛП ФБЛ - "SET sname = Gibson". йурпмшъпчбойе чщтбцеойк дмс нпдйжйлбгйй чЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ УЛБМСТОЩЕ ЧЩТБЦЕОЙС Ч РТЕДМПЦЕОЙЙ SET ЛПНБОДЩ UPDATE, ПДОБЛП, ЧЛМАЮЙЧ ЕЗП Ч ЧЩТБЦЕОЙЕ РПМ ЛПФПТПЕ ВХДЕФ ЙЪНЕОЕОП. ч ЬФПН ЙИ ПФМЙЮЙЕ ПФ РТЕДМПЦЕОЙС VALUES ЛПНБОДЩ INSERT, Ч ЛПФПТПН ЧЩТБЦЕОЙС ОЕ НПЗХФ ЙУРПМШЪПЧБФШУС; ЬФП УЧПКУФЧП УЛБМСТОЩИ ЧЩТБЦЕОЙК - ЧЕУШНБ РПМЕЪОБ ПУПВЕООПУФШ. рТЕДРПМПЦЙН, ЮФП ЧЩ ТЕЫЙМЙ ХДЧПЙФШ ЛПНЙУУЙПООЩЕ ЧУЕН ЧБЫЙН РТПДБЧГБН. чЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ УМЕДХАЭЕЕ ЧЩТБЦЕОЙЕ: UPDATE Salespeople SET comm = comm * 2; чУСЛЙК ТБЪ, ЛПЗДБ ЧЩ УУЩМБЕФЕУШ Л ХЛБЪБООПНХ ЪОБЮЕОЙА УФПМВГБ Ч РТЕДМПЦЕОЙЙ SET, РТПЙЪЧЕДЕООПЕ ЪОБЮЕОЙЕ НПЦЕФ РПМХЮЙФУС ЙЪ ФЕЛХЭЕК УФТПЛЙ, РТЕЦДЕ Ч ОЕК ВХДХФ УДЕМБОЩ ЛБЛЙЕ-ФП ЙЪНЕОЕОЙС У РПНПЭША ЛПНБОДЩ UPDATE. еУФЕУФЧЕООП, ЧЩ НПЦЕФЕ УЛПНВЙОЙТПЧБФШ ЬФЙ ПУПВЕООПУФЙ, Й УЛБЪБФШ, - ХДЧПЙФШ ЛПНЙУУЙА ЧУЕН РТПДБЧГБН Ч мПОДПОЕ, ФБЛЙН РТЕДМПЦЕОЙЕН: UPDATE Salespeople SET comm = comm * 2 WHERE city = 'London'; нпдйжйгйтпчбойе рхуфщи(NULL) ъобюеойк рТЕДМПЦЕОЙЕ SET - ЬФП ОЕ РТЕДЙЛБФ. пО НПЦЕФ ЧЧПДЙФШ РХУФЩЕ NULL ЪОБЮЕОЙС ФБЛЦЕ ЛБЛ ПО ЧЧПДЙМ ЪОБЮЕОЙС ОЕ ЙУРПМШЪХС ЛБЛПЗП-ФП УРЕГЙБМШОПЗП УЙОФБЛУЙУБ ( ФБЛПЗП ОБРТЙНЕТ ЛБЛ IS NULL ). фБЛ ЮФП, ЕУМЙ ЧЩ ИПФЙФЕ ХУФБОПЧЙФШ ЧУЕ ПГЕОЛЙ ЪБЛБЪЮЙЛПЧ Ч мПОДПОЕ Ч NULL, ЧЩ НПЦЕФЕ ЧЧЕУФЙ УМЕДХАЭЕЕ РТЕДМПЦЕОЙЕ: UPDATE customers SET rating = NULL WHERE city = 'London'; ЮФП ПВОХМЙФ ЧУЕ ПГЕОЛЙ ЪБЛБЪЮЙЛПЧ Ч мПОДПОЕ. теъане фЕРЕТШ ЧЩ ПЧМБДЕМЙ НБУФЕТУФЧПН ХРТБЧМЕОЙС УПДЕТЦБОЙЕН ЧБЫЕК ВБЪЩ ДБООЩИ У РПНПЭША ФТЕИ РТПУФЩИ ЛПНБОД: INSERT - ЙУРПМШЪХЕНПК ЮФПВЩ РПНЕЭБФШ УФТПЛЙ Ч ВБЪХ ДБООЩИ; DELETE - ЮФПВЩ ХДБМСФШ ЙИ; REFERENCES - ЮФПВЩ ЙЪНЕОСФШ ЪОБЮЕОЙС Ч ХЦЕ ЧУФБЧМЕООЩИ УФТПЛБИ. чЩ ПВХЮБМЙУШ ЙУРПМШЪПЧБОЙА РТЕДЙЛБФБ У ЛПНБОДБНЙ UPDATE Й DELETE ЮФПВЩ ПРТЕДЕМЙФШ, ОБ ЛПФПТХА ЙЪ УФТПЛ ВХДЕФ ЧПЪДЕКУФЧПЧБФШ ЛПНБОДБ. лПОЕЮОП, РТЕДЙЛБФЩ ЛБЛ ФБЛПЧЩЕ - ОЕ ЪОБЮЙНЩ ДМС INSERT, РПФПНХ ЮФП ПВУХЦДБЕНБС УФТПЛБ ОЕ УХЭЕУФЧХЕФ Ч ФБВМЙГЕ ДП ПЛПОЮБОЙС ЧЩРПМОЕОЙС ЛПНБОДЩ INSERT. пДОБЛП, ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ ЪБРТПУЩ У INSERT, ЮФПВЩ УТБЪХ РПНЕЭБФШ ЧУЕ ОБВПТЩ УФТПЛ Ч ФБВМЙГХ. рТЙЮЕН ЬФП, ЧЩ НПЦЕФЕ ДЕМБФШ УП УФПМВГБНЙ Ч МАВПН РПТСДЛЕ. чЩ ХЪОБМЙ, ЮФП ЪОБЮЕОЙС РП ХНПМЮБОЙА, НПЗХФ РПНЕЭБФШУС Ч УФПМВГЩ, ЕУМЙ ЧЩ ОЕ ХУФБОБЧМЙЧБЕФЕ ЬФП ЪОБЮЕОЙЕ СЧОП. чЩ ФБЛЦЕ ЧЙДЕМЙ ЙУРПМШЪПЧБОЙЕ УФБОДБТФОПЗП ЪОБЮЕОЙС РП ХНПМЮБОЙА, ЛПФПТЩН СЧМСЕФУС NULL. лТПНЕ ФПЗП, ЧЩ РПОСМЙ, ЮФП UPDATE НПЦЕФ ЙУРПМШЪПЧБФШ ЧЩТБЦЕОЙЕ ЪОБЮЕОЙС, ФПЗДБ ЛБЛ INSERT ОЕ НПЦЕФ. уМЕДХАЭБС ЗМБЧБ ТБУЫЙТЙФ ЧБЫЕ РПЪОБОЙС, РПЛБЪБЧ ЧБН, ЛБЛ ЙУРПМШЪПЧБФШ РПДЪБРТПУЩ У ЬФЙНЙ ЛПНБОДБНЙ. ьФЙ РПДЪБРТПУЩ ОБРПНЙОБАФ ФЕ, У ЛПФПТЩНЙ ЧЩ ХЦЕ ЪОБЛПНЩ, ОП ЙНЕАФУС ОЕЛПФПТЩЕ УРЕГЙБМШОЩЕ ЧЩЧПДЩ Й ПЗТБОЙЮЕОЙС, ЛПЗДБ РПДЪБРТПУЩ ЙУРПМШЪХАФУС Ч ЛПНБОДБИ DML, ЮФП НЩ ВХДЕН ПВУХЦДБФШ Ч зМБЧЕ 16. тбвпфб у SQL 1. оБРЙЫЙФЕ ЛПНБОДХ ЛПФПТБС ВЩ РПНЕУФЙМБ УМЕДХАЭЙЕ ЪОБЮЕОЙС, Ч ЙИ ОЙЦЕХЛБЪБООПН РПТСДЛЕ, Ч ФБВМЙГХ рТПДБЧГПЧ: city - San Jose, name - Bianco, comm - NULL, cnum - 1100. 2. оБРЙЫЙФЕ ЛПНБОДХ ЛПФПТБС ВЩ ХДБМЙМБ ЧУЕ РПТСДЛЙ ЪБЛБЪЮЙЛБ Clemens ЙЪ ФБВМЙГЩ рПТСДЛПЧ. 3. оБРЙЫЙФЕ ЛПНБОДХ ЛПФПТБС ВЩ ХЧЕМЙЮЙМБ ПГЕОЛХ ЧУЕИ ЪБЛБЪЮЙЛПЧ Ч тЙНЕ ОБ 100. 4. рТПДБЧЕГ Serres ПУФБЧЙМ ЛПНРБОЙА. рЕТЕОБЪОБЮШФЕ ЕЗП ЪБЛБЪЮЙЛПЧ РТПДБЧГХ Motika. ( уН. рТЙМПЦЕОЙЕ A ДМС ПФЧЕФПЧ. )

Соседние файлы в папке Understanding SQL (rus - html)