30 Примери СКЛ упита

30 Primeri Skl Upita



Пун облик СКЛ-а је језик структурираних упита. То је веома користан алат за приступ или измену структуре и података базе података. Многим апликацијама је потребна база података за трајно складиштење потребних података у бази података у структурираном формату. МиСКЛ, Орацле, СКЛ Сервер, итд. су популарне базе података за складиштење података апликације. Они су неопходни за учење основа СКЛ-а за приступ или модификовање садржаја базе података. Основна употреба СКЛ израза у бази података МариаДБ приказана је у овом водичу користећи 30 примера СКЛ упита.

Предуслови

Морате да инсталирате сервер базе података са клијентом пре него што увежбате примере у овом водичу. МариаДБ сервер и клијент базе података се користе у овом водичу.

1. Покрените следеће команде да бисте ажурирали систем:







$ судо апт-гет упдате

2. Покрените следећу команду да бисте инсталирали МариаДБ сервер и клијент:



$ судо апт-гет инсталл мариадб-сервер мариадб-цлиент

3. Покрените следећу команду да бисте инсталирали безбедносну скрипту за МариаДБ базу података:



$ судо мискл_сецуре_инсталлатион

4. Покрените следећу команду да поново покренете МариаДБ сервер:





$ судо /етц/инит.д/мариадб рестарт

6. Покрените следећу команду да бисте се пријавили на МариаДБ сервер:

$ судо мариадб -у корен -п

Листа примера СКЛ упита



  1. Креирајте базу података
  2. Креирајте табеле
  3. Преименујте име табеле
  4. Додајте нову колону у табелу
  5. Уклоните колону из табеле
  6. Уметните један ред у табелу
  7. Уметните више редова у табелу
  8. Прочитајте сва посебна поља из табеле
  9. Прочитајте табелу након филтрирања података из табеле
  10. Прочитајте табелу након филтрирања података на основу Булове логике
  11. Прочитајте табелу након филтрирања редова на основу опсега података
  12. Прочитајте табелу након сортирања табеле на основу одређених колона.
  13. Прочитајте табелу тако што ћете поставити алтернативни назив колоне
  14. Пребројите укупан број редова у табели
  15. Прочитајте податке из више табела
  16. Прочитајте табелу груписањем посебних поља
  17. Прочитајте табелу након што изоставите дупле вредности
  18. Прочитајте табелу ограничавањем броја реда
  19. Прочитајте табелу на основу делимичног подударања
  20. Пребројите збир одређеног поља табеле
  21. Пронађите максималну и минималну вредност одређеног поља
  22. Прочитајте податке о одређеном делу поља
  23. Прочитајте податке табеле након спајања
  24. Прочитајте податке из табеле након математичког израчунавања
  25. Направите приказ табеле
  26. Ажурирајте табелу на основу посебног стања
  27. Избришите податке табеле на основу посебног услова
  28. Избришите све записе из табеле
  29. Баци сто
  30. Испустите базу података

Креирајте базу података

Претпоставимо да морамо дизајнирати једноставну базу података за систем управљања библиотекама. Да бисте извршили овај задатак, на серверу треба да се креира база података која садржи више релационих табела. Након што се пријавите на сервер базе података, покрените следећу команду да бисте креирали базу података под називом „библиотека“ на МариаДБ серверу базе података:

КРЕИРАЈ БАЗА ПОДАТАКА библиотека;

Излаз показује да је база података библиотеке креирана на серверу:

Покрените следећу команду да бисте изабрали базу података са сервера за обављање различитих типова операција базе података:

КОРИСТИ библиотека;

Излаз показује да је изабрана база података библиотеке:

Креирајте табеле

Следећи корак је креирање потребних табела за базу података за складиштење података. У овом делу упутства су креиране три табеле. Ово су књиге, чланови и табеле борров_инфо.

  1. Табела књига чува све податке у вези са књигама.
  2. Табела чланова чува све информације о члановима који позајмљују књигу из библиотеке.
  3. Табела борров_инфо чува информације о томе коју књигу је који члан позајмио.

1. Књиге Сто

Покрените следећу СКЛ наредбу да бисте креирали табелу под називом „књиге“ у бази података „библиотека“ која садржи седам поља и један примарни кључ. Овде је поље „ид“ примарни кључ, а тип података је инт. Атрибут ауто_инцремент се користи за поље „ид“. Дакле, вредност овог поља се аутоматски повећава када се убаци нови ред. Тип података варцхар се користи за складиштење података низа променљиве дужине. Поља наслов, аутор, публикација и исбн чувају низ података. Тип података поља тотал_цопи и цена су инт. Дакле, ова поља чувају нумеричке податке.

КРЕИРАЈ СТО књиге (
ид ИНТ АУТО_ИНЦРЕМЕНТ ,
наслов ВАРЦХАР ( педесет ) ,
аутор ВАРЦХАР ( педесет ) ,
публикација ВАРЦХАР ( 100 ) ,
исбн ВАРЦХАР ( 30 ) ,
тотал_цопи ИНТ ,
Цена ИНТ ,
ПРИМАРНА КЉУЧ ( ид ) ) ;

Излаз показује да је табела „књиге“ успешно креирана:

2. Чланови Сто

Покрените следећу СКЛ наредбу да бисте креирали табелу под називом „чланови“ у бази података „библиотека“ која садржи 5 поља и један примарни кључ. Поље „ид“ има атрибут ауто_инцремент попут табеле „књиге“. Тип података осталих поља је варцхар. Дакле, ова поља чувају стринг податке.

КРЕИРАЈ СТО чланова (
ид ИНТ АУТО_ИНЦРЕМЕНТ ,
име ВАРЦХАР ( педесет ) ,
адреса ВАРЦХАР ( 200 ) ,
контакт_бр ВАРЦХАР ( петнаест ) ,
емаил ВАРЦХАР ( педесет ) ,
ПРИМАРНА КЉУЧ ( ид ) ) ;

Излаз показује да је табела „чланови“ успешно креирана:

3. Борров_инфо Сто

Покрените следећу СКЛ наредбу да бисте креирали табелу под називом „борров_инфо“ у бази података „библиотека“ која садржи 6 поља. Овде је поље „ид“ примарни кључ, али се атрибут ауто_инцремент не користи за ово поље. Дакле, јединствена вредност се ручно убацује у ово поље када се нови запис убаци у табелу. Поља боок_ид и мембер_ид су страни кључеви за ову табелу; то су примарни кључ табеле „књиге“ и табеле „чланови“. Тип података поља борров_дате и ретурн_дате су датум. Дакле, ова два поља чувају вредност датума у ​​формату „ГГГГ-ММ-ДД“.

КРЕИРАЈ СТО борров_инфо (
ид ИНТ ,
борров_дате ДАТУМ ,
боок_ид ИНТ ,
мембер_ид ИНТ ,
Датум повратка ДАТУМ ,
СТАТУС ВАРЦХАР ( 10 ) ,
ПРИМАРНА КЉУЧ ( ид ) ,
СТРАНИ КЉУЧ ( боок_ид ) РЕФЕРЕНЦЕ књиге ( ид ) ,
СТРАНИ КЉУЧ ( мембер_ид ) РЕФЕРЕНЦЕ чланова ( ид ) ) ;

Излаз показује да је табела „борров_инфо“ успешно креирана:

Преименујте име табеле

Наредба АЛТЕР ТАБЛЕ може се користити за више намена у СКЛ изразима. Покрените следећу АЛТЕР ТАБЛЕ изјаву да промените име табеле „борров_инфо“ у „боок_борров_инфо“. Затим, наредба СХОВ таблес се може користити за проверу да ли је име табеле промењено или не.

АЛТЕР СТО борров_инфо РЕНАМЕ ДО боок_борров_инфо;
ПРИКАЖИ ТАБЕЛЕ ;

Излаз показује да је име табеле успешно промењено и да је име табеле борров_инфо промењено у боок_борров_инфо:

Додајте нову колону у табелу

Наредба АЛТЕР ТАБЛЕ се може користити за додавање или брисање једне или више колона након креирања табеле. Следећа АЛТЕР ТАБЛЕ изјава додаје ново поље под називом „статус“ члановима табеле. Наредба ДЕСЦРИБЕ се користи да покаже да ли је структура табеле промењена или не.

АЛТЕР СТО чланова ДОДАТИ СТАТУС ВАРЦХАР ( 10 ) ;
ОПИШИ чланови;

Излаз показује да је нова колона која је „статус“ додата у табелу „чланови“ и да је тип података табеле варцхар:

Уклоните колону из табеле

Следећа АЛТЕР ТАБЛЕ изјава брише поље под називом „статус“ из табеле „мемберс“. Наредба ДЕСЦРИБЕ се користи да покаже да ли је структура табеле промењена или не.

АЛТЕР СТО чланова КАП ЦОЛУМН СТАТУС ;
ОПИШИ чланови;

Излаз показује да је колона „статус“ уклоњена из табеле „чланови“:

Уметните један ред у табелу

Наредба ИНСЕРТ ИНТО се користи за уметање једног или више редова у табелу. Покрените следећу СКЛ наредбу да бисте уметнули један ред у табелу „књиге“. Овде је поље „ид“ изостављено из овог упита јер се аутоматски убацује у запис када се уметне нови запис за атрибут аутоматског повећања. Ако се ово поље користи у наредби ИНСЕРТ, вредност мора бити НУЛЛ.

ИНСЕРТ У књиге ( наслов , аутор , публикација , исбн , тотал_цопи , Цена )
ВРЕДНОСТИ ( 'СКЛ за 10 минута' , 'Бен Форта' , 'Самс Публисхинг' , '784534235' , 5 , 39 ) ;

Излаз показује да је запис успешно додат у табелу „књиге“:

Подаци се могу убацити у табелу помоћу клаузуле СЕТ где се свака вредност поља додељује посебно. Покрените следећу СКЛ наредбу да бисте уметнули један ред у табелу „чланови“ користећи клаузуле ИНСЕРТ ИНТО и СЕТ. Поље „ид“ је такође изостављено у овом упиту као у претходном примеру из истог разлога.

ИНСЕРТ У чланова
КОМПЛЕТ име = 'Џон Сина' , адреса = '34, Дханмонди 9/А, Дака' , контакт_бр = '+14844731336' , емаил = 'јохн@гмаил.цом' ;

Излаз показује да је запис успешно додат у табелу чланова:

Покрените следећу СКЛ наредбу да бисте убацили један ред у табелу „боок_борров_инфо“:

ИНСЕРТ У боок_борров_инфо ( ид , борров_дате , боок_ид , мембер_ид , Датум повратка , СТАТУС )
ВРЕДНОСТИ ( 1 , '2023-03-12' , 1 , 1 , '2023-03-19' , 'позајмљено' ) ;

Излаз показује да је запис додат у табелу „боок_борров_инфо“:

Уметните више редова у табелу

Понекад је потребно додавање више записа истовремено користећи једну ИНСЕРТ ИНТО наредбу. Покрените следећу СКЛ наредбу да бисте уметнули три записа у табелу „књиге“ користећи једну ИНСЕРТ ИНТО наредбу. У овом случају, клаузула ВАЛУЕС се користи једном и подаци сваког записа су одвојени зарезом.

ИНСЕРТ У књиге ( наслов , аутор , публикација , исбн , тотал_цопи , Цена )
ВРЕДНОСТИ
( 'СКЛ кувар (О'Реилли)' , 'Ентони Молинаро' , 'О'Реилли' , '2467777532' , 10 , 49 ) ,
( „СКЛ упити за обичне смртнике“ , 'Џон Вискас' , 'Аддисон-Весли' , '673456234' , петнаест , 35 ) ,
( 'Учење СКЛ-а' , 'Алан Беаулиеу' , „Пингвин књиге доо“ , '534433222' , 12 , Четири, пет ) ;

Излаз показује да су три записа додата у табелу „књиге“:

Прочитајте сва посебна поља из табеле

Наредба СЕЛЕЦТ се користи за читање података из табеле „базе података“. Симбол “*” се користи за означавање свих поља табеле у СЕЛЕЦТ наредби. Покрените следећу СКЛ команду да прочитате све записе табеле књига:

СЕЛЕЦТ * ИЗ књиге;

Излаз приказује све записе табеле књига која садржи 4 записа:

Покрените следећу СКЛ команду да прочитате све записе три поља табеле „чланови“:

СЕЛЕЦТ име , емаил , контакт_бр ИЗ чланови;

Излаз приказује све записе три поља табеле „чланови“:

Прочитајте табелу након филтрирања података из табеле

Клаузула ВХЕРЕ се користи за читање података из табеле на основу једног или више услова. Покрените следећу СЕЛЕЦТ наредбу да прочитате све записе свих поља табеле „књиге“ где је име аутора „Јохн Виесцас“.

СЕЛЕЦТ * ИЗ књиге ГДЕ аутор = 'Јохн Виесцас' ;

Табела „књиге“ садржи један запис који одговара услову клаузуле ВХЕРЕ која је приказана у излазу:

Прочитајте табелу након филтрирања података на основу Булове логике

Логика логички И се користи за дефинисање више услова у клаузули ВХЕРЕ која враћа тачно ако се сви услови враћају тачно. Покрените следећу СЕЛЕЦТ наредбу да бисте прочитали све записе свих поља табеле „књиге“ где је вредност поља тотал_цопи већа од 10, а вредност поља цена мања од 45 користећи логичко И.

СЕЛЕЦТ * ИЗ књиге ГДЕ тотал_цопи > 10 И Цена < Четири, пет ;

Табела књига садржи један запис који одговара услову клаузуле ВХЕРЕ која је приказана у излазу:

Логика Боолеан ОР се користи за дефинисање више услова у клаузули ВХЕРЕ која враћа труе ако било који од услова враћа труе. Покрените следећу наредбу СЕЛЕЦТ да бисте прочитали све записе свих поља табеле „књиге“ где је вредност поља тотал_цопи већа од 10 или је вредност поља цена већа од 40.

СЕЛЕЦТ * ИЗ књиге ГДЕ тотал_цопи > 10 ИЛИ Цена > 40 ;

Табела књига садржи три записа који одговарају услову клаузуле ВХЕРЕ која је приказана у излазу:

Логика Булова НОТ се користи за враћање фалсе када је услов истинит и враћа труе када је услов нетачан. Покрените следећу наредбу СЕЛЕЦТ да бисте прочитали све записе свих поља табеле „књиге“ где вредност поља аутора није „Аддисон-Веслеи“.

СЕЛЕЦТ * ИЗ књиге ГДЕ НЕ аутор = 'Аддисон-Веслеи' ;

Табела „књиге“ садржи три записа који одговарају услову клаузуле ВХЕРЕ која је приказана у излазу:

Прочитајте табелу након филтрирања редова на основу опсега података

Клаузула БЕТВЕЕН се користи за читање опсега података из табеле базе података. Покрените следећу СЕЛЕЦТ наредбу да прочитате све записе свих поља табеле „књиге“ где је вредност поља цена између 40 и 50.

СЕЛЕЦТ * ИЗ књиге ГДЕ Цена ИЗМЕЂУ 40 И педесет ;

Табела боокс садржи два записа која одговарају услову клаузуле ВХЕРЕ која је приказана у излазу. Књиге вредности цена, 39 и 35, су изостављене из скупа резултата јер су ван опсега.

Прочитајте табелу након сортирања табеле

Клаузула ОРДЕР БИ се користи за сортирање скупа резултата наредбе СЕЛЕЦТ у растућем или опадајућем редоследу. Скуп резултата се подразумевано сортира у растућем редоследу ако се ОРДЕР БИ клаузула користи без АСЦ или ДЕСЦ. Следећа СЕЛЕЦТ изјава чита сортиране записе из табеле књига на основу поља наслова:

СЕЛЕЦТ * ИЗ књиге ОРДЕР ОД СТРАНЕ наслов;

Подаци поља наслова табеле „књиге“ сортирани су у растућем редоследу у излазу. Књига „Учење СКЛ-а“ долази прва по абецедном реду ако је поље наслова табеле „књиге“ сортирано узлазним редоследом.

Прочитајте табелу тако што ћете поставити алтернативни назив колоне

Алтернативно име колоне се користи у упиту да би скуп резултата био читљивији. Алтернативно име се поставља помоћу кључне речи „АС“. Следећа СКЛ изјава враћа вредности поља наслова и аутора постављањем алтернативних имена.

СЕЛЕЦТ наслов КАО `Назив књиге` , аутор КАО `Име аутора`
ИЗ књиге;

Поље наслова се приказује са алтернативним именом које је „Назив књиге“, ​​а поље аутора се приказује са алтернативним именом које је „Име аутора“ у излазу.

Пребројите укупан број редова у табели

ЦОУНТ() је агрегатна функција СКЛ-а која се користи за бројање укупног броја редова на основу одређеног поља или свих поља. Симбол “*” се користи за означавање свих поља, а ЦОУНТ(*) се користи за бројање свих записа у табели.

Следећи упит броји укупан број записа табеле књига:

СЕЛЕЦТ ЦОУНТ ( * ) КАО `Тотал Боокс` ИЗ књиге;

Четири записа у табели „књиге“ су приказана у излазу:

Следећи упит броји укупан број редова табеле „чланови“ на основу поља „ид“:

СЕЛЕЦТ ЦОУНТ ( ид ) КАО `Укупно чланова` ИЗ чланови;

Табела „чланови“ има две вредности ИД-а које се штампају у излазу:

Прочитајте податке из више табела

Претходни СЕЛЕЦТ изрази су преузели податке из једне табеле. Али израз СЕЛЕЦТ се може користити за преузимање података из две или више табела. Следећи СЕЛЕЦТ упит чита вредности поља наслова и аутора из табеле „књиге“ и борров_дате из табеле „боок_борров_инфо“.

СЕЛЕЦТ наслов , аутор , борров_дате
ИЗ књиге , боок_борров_инфо
ГДЕ књиге . ид = боок_борров_инфо . боок_ид;

Следећи излаз показује да је књига „СКЛ за 10 минута“ посуђена два пута, а књига „СКЛ Цоокбоок (О’Реилли)“ једном:

Подаци се могу преузети из више табела користећи различите типове ЈОИН-ова као што су ИННЕР ЈОИН, ОУТЕР ЈОИН, итд. који нису објашњени у овом водичу.

Прочитајте табелу груписањем посебних поља

Клаузула ГРОУП БИ се користи за читање записа из табеле груписањем редова на основу једног или више поља. Овај тип упита се зове упит са сажетком. Морате да убаците више редова у табеле да бисте проверили употребу клаузуле ГРОУП БИ. Покрените следеће ИНСЕРТ изразе да уметнете један запис у табелу „чланови“ и два записа у табелу „боок_борров_инфо“.

ИНСЕРТ У чланова
КОМПЛЕТ име = 'Она Хасан' , адреса = '11/А, Јигатола, Дака' , контакт_бр = '+8801734563423' , емаил = 'она@гмаил.цом' ;
ИНСЕРТ У боок_борров_инфо ( ид , борров_дате , боок_ид , мембер_ид , Датум повратка , СТАТУС )
ВРЕДНОСТИ ( 2 , '2023-04-10' , 1 , 1 , '2023-04-15' , 'Враћено' ) ;
ИНСЕРТ У боок_борров_инфо ( ид , борров_дате , боок_ид , мембер_ид , Датум повратка , СТАТУС )
ВРЕДНОСТИ ( 3 , '2023-05-20' , 2 , 1 , '2023-05-30' , 'позајмљено' ) ;

Након уметања података извршавањем претходних упита, покрените следећу СЕЛЕЦТ наредбу која броји укупан број позајмљених књига и име члана на основу сваког члана користећи клаузулу ГРОУП БИ. Овде функција ЦОУНТ() ради на пољу које се користи за прегруписавање записа користећи клаузулу ГРОУП БИ. Поље боок_ид табеле „чланови“ се користи за груписање овде.

СЕЛЕЦТ ЦОУНТ ( боок_ид ) КАО `Укупно позајмљена књига` , име КАО `Име члана` ИЗ књиге , чланова , боок_борров_инфо ГДЕ књиге . ид = боок_борров_инфо . боок_ид И чланова . ид = боок_борров_инфо . мембер_ид ГРУПА ОД СТРАНЕ боок_борров_инфо . мембер_ид;

Према подацима из књига, табела „чланови“ и „боок_борров_инфо“, „Јохн Сина“ је позајмио 2 књиге, а „Ела Хасан“ 1 књигу.

Прочитајте табелу након што изоставите дупле вредности

Понекад се дуплирани подаци генеришу у скупу резултата наредбе СЕЛЕЦТ на основу података табеле који су непотребни. На пример, следећа СЕЛЕЦТ изјава враћа дупликате записа за податке табеле „боок_борров_инфо“.

СЕЛЕЦТ име , емаил
ИЗ чланова , боок_борров_инфо
ГДЕ боок_борров_инфо . мембер_ид = чланова . ид;

У излазу се исти запис појављује два пута јер је члан „Јохн Сина“ позајмио две књиге. Овај проблем се може решити помоћу кључне речи ДИСТИНЦТ. Уклања дупле записе из резултата упита.

Следећи израз СЕЛЕЦТ генерише јединствене записе скупа резултата из табела „чланови“ и „боок_борров_инфо“ након изостављања дупликата вредности коришћењем кључне речи ДИСТИНЦТ у упиту.

СЕЛЕЦТ ДИСТИНЦТ име , емаил
ИЗ чланова , боок_борров_инфо
ГДЕ боок_борров_инфо . мембер_ид = чланова . ид;

Излаз показује да је дуплирана вредност уклоњена из скупа резултата:

Прочитајте табелу ограничавањем броја реда

Понекад захтева читање одређеног броја записа са почетка скупа резултата, краја скупа резултата или средине скупа резултата из табеле базе података ограничавањем броја реда. То се може урадити на много начина. Пре него што ограничите редове, покрените следећу СКЛ наредбу да проверите колико записа постоји у табели књига:

СЕЛЕЦТ * ИЗ књиге;

Излаз показује да табела књига има четири записа:

Следећа СЕЛЕЦТ изјава чита прва два записа из табеле „књиге“ користећи клаузулу ЛИМИТ са вредношћу 2:

СЕЛЕЦТ * ИЗ књиге ЛИМИТ 2 ;

Прва два записа табеле „књиге“ се преузимају што је приказано у излазу:

Клаузула ФЕТЦХ је алтернатива клаузули ЛИМИТ и њена употреба је приказана у следећој СЕЛЕЦТ изјави. Прва 3 записа табеле „књиге“ се преузимају помоћу клаузуле ФЕТЦХ ФИРСТ 3 РОВС ОНЛИ у наредби СЕЛЕЦТ:

СЕЛЕЦТ * ИЗ књиге ФЕТЦХ ПРВИ 3 РОВС САМО ;

Излаз приказује прва 3 записа табеле „књиге“:

Два записа са 3 рд ред табеле књига се преузимају извршавањем следеће СЕЛЕЦТ наредбе. Клаузула ЛИМИТ се овде користи са вредношћу 2, 2 где прва 2 дефинише почетну позицију реда табеле који почиње да броји од 0, а друга 2 дефинише број редова који почиње да броји од почетне позиције.

СЕЛЕЦТ * ИЗ књиге ЛИМИТ 2 , 2 ;

Следећи излаз се појављује након извршавања претходног упита:

Записи са краја табеле се могу читати сортирањем табеле у опадајућем редоследу на основу аутоматски увећане вредности примарног кључа и коришћењем клаузуле ЛИМИТ. Покрените следећу СЕЛЕЦТ наредбу која чита последња 2 записа из табеле „књиге“. Овде је скуп резултата сортиран у опадајућем редоследу на основу поља „ид“.

СЕЛЕЦТ * ИЗ књиге ОРДЕР ОД СТРАНЕ ид ДЕСЦ ЛИМИТ 2 ;

Последња два записа табеле књига приказана су у следећем излазу:

Прочитајте табелу на основу делимичног подударања

Клаузула ЛИКЕ се користи са симболом „%“ за преузимање записа из табеле делимичним подударањем. Следећа СЕЛЕЦТ изјава претражује записе из табеле „књиге“ где поље аутора садржи „Јохн“ на почетку вредности користећи ЛИКЕ клаузулу. Овде се симбол „%“ користи на крају стринга за претрагу.

СЕЛЕЦТ * ИЗ књиге ГДЕ аутор КАО 'Јован%' ;

У табели „књиге“ постоји само један запис који садржи стринг „Јован“ на почетку вредности поља аутора.

Следећа СЕЛЕЦТ наредба претражује записе из табеле „књиге“ у којој поље за објављивање садржи „Лтд“ на крају вредности користећи клаузулу ЛИКЕ. Овде се симбол „%“ користи на почетку стринга за претрагу:

СЕЛЕЦТ * ИЗ књиге ГДЕ публикација КАО '%Лтд' ;

У табели „књиге“ постоји само један запис који садржи стринг „Лтд“ на крају поља за публикацију.

Следећа СЕЛЕЦТ наредба претражује записе из табеле „књиге“ где поље наслова садржи „Упите“ било где од вредности користећи клаузулу ЛИКЕ. Овде се симбол „%“ користи на обе стране стринга за претрагу:

СЕЛЕЦТ * ИЗ књиге ГДЕ наслов КАО '%Упита%' ;

У табели „књиге“ постоји само један запис који садржи стринг „Упита“ у пољу за наслов.

Пребројите збир одређеног поља табеле

СУМ() је још једна корисна агрегатна функција СКЛ-а која израчунава збир вредности било ког нумеричког поља табеле. Ова функција узима један аргумент који мора бити нумерички. Следећи СКЛ израз израчунава збир свих вредности поља цена у табели „књиге“ која садржи целобројне вредности.

СЕЛЕЦТ СУМ ( Цена ) КАО `Укупна цена књиге`
ИЗ књиге;

Излаз приказује збирну вредност свих вредности поља цена у табели „књиге“. Четири вредности поља цене су 39, 49, 35 и 45. Збир ових вредности је 168.

Пронађите максималну и минималну вредност одређеног поља

Агрегатне функције МИН() и МАКС() се користе за проналажење минималних и максималних вредности одређеног поља табеле. Обе функције узимају један аргумент који мора бити нумерички. Следећи СКЛ израз сазнаје минималну вредност цене из табеле „књиге“ која је цео број.

СЕЛЕЦТ МИН ( Цена ) КАО `Књига минималних трошкова` ИЗ књиге;

Тридесет пет (35) је минимална вредност поља за цену која се штампа у излазу.

Следећа СКЛ изјава открива максималну вредност цене из табеле „књиге“:

СЕЛЕЦТ МАКС ( Цена ) КАО `Књига максималног трошка` ИЗ књиге;

Четрдесет девет (49) је максимална вредност поља цене које се штампа у излазу.

Прочитајте одређени део података или поље

Функција СУБСТР() се користи у СКЛ наредби за преузимање одређеног дела стринг података или вредности одређеног поља табеле. Ова функција садржи три аргумента. Први аргумент садржи вредност стринга или вредност поља табеле која је стринг. Други аргумент садржи почетну позицију подниза који се преузима из првог аргумента и бројање ове вредности почиње од 1. Трећи аргумент садржи дужину подниза који почиње да броји од почетне позиције.

Следећа СЕЛЕЦТ наредба сече и штампа првих пет знакова из стринга „Леарн СКЛ Басицс“ где је почетна позиција 1, а дужина 5:

СЕЛЕЦТ СУБСТР ( „Научите основе СКЛ-а“ , 1 , 5 ) КАО `Вредност подниза` ;

Првих пет знакова стринга „Леарн СКЛ Басицс“ је „Леарн“ који се штампа у излазу.

Следећа СЕЛЕЦТ наредба сече и штампа СКЛ из стринга „Леарн СКЛ Басицс“ где је почетна позиција 7, а дужина 3:

СЕЛЕЦТ СУБСТР ( „Научите основе СКЛ-а“ , 7 , 3 ) КАО `Вредност подниза` ;

Следећи излаз се појављује након извршавања претходног упита:

Следећа СЕЛЕЦТ изјава сече и штампа првих пет знакова из поља за име табеле „чланови“:

СЕЛЕЦТ СУБСТР ( име , 1 , 5 ) КАО `Име члана` ИЗ чланови;

Излаз приказује првих пет знакова сваке вредности поља за име табеле „чланови“.

Прочитајте податке табеле након спајања

Функција ЦОНЦАТ() се користи за генерисање излаза комбиновањем једног или више поља табеле или додавањем података низа или одређене вредности поља табеле. Следећи СКЛ израз чита вредности поља наслова, аутора и цене у табели „књиге“, ​​а вредност стринга „$“ се додаје свакој вредности поља цене помоћу функције ЦОНЦАТ().

СЕЛЕЦТ наслов КАО Наслов , аутор КАО Аутор , ЦОНЦАТ ( '$' , Цена ) КАО Цена
ИЗ књиге;

Вредности поља цене се штампају у излазу спајањем са стрингом „$“.

Покрените следећу СКЛ наредбу да комбинујете вредности поља наслова и аутора табеле „књиге“ са вредношћу стринга „би“ користећи функцију ЦОНЦАТ():

СЕЛЕЦТ ЦОНЦАТ ( наслов , ' од стране ' , аутор ) КАО `Назив књиге са аутором`
ИЗ књиге;

Следећи излаз се појављује након извршавања претходног СЕЛЕЦТ упита:

Прочитајте податке из табеле након математичког прорачуна

Било које математичко израчунавање може се извршити у тренутку преузимања вредности табеле помоћу СЕЛЕЦТ наредбе. Покрените следећу СКЛ наредбу да прочитате ИД, наслов, цену и вредност снижене цене након што израчунате попуст од 5%.

СЕЛЕЦТ ид , наслов , Цена КАО `Редовна цена` , Цена - ( Цена * 5 / 100 ) КАО `Цена са попустом`
ИЗ књиге;

Следећи излаз приказује редовну цену и цену с попустом за сваку књигу:

Направите приказ табеле

ВИЕВ се користи да учини упит једноставним и пружа додатну сигурност бази података. Ради као виртуелна табела која се генерише из једне или више табела. Метод креирања и извршавања једноставног ВИЕВ заснованог на табели „чланови“ приказан је у следећем примеру. ВИЕВ се извршава помоћу наредбе СЕЛЕЦТ. Следећи СКЛ израз креира ПРЕГЛЕД табеле „чланови“ са пољима ид, име, адреса и цонтацт_но. Наредба СЕЛЕЦТ извршава мембер_виев.

КРЕИРАЈ ПОГЛЕД мембер_виев КАО
СЕЛЕЦТ ид , име , адреса , контакт_бр
ИЗ чланови;

СЕЛЕЦТ * ИЗ мембер_виев;

Следећи излаз се појављује након креирања и извршавања приказа:

Ажурирајте табелу на основу посебног стања

Наредба УПДАТЕ се користи за ажурирање садржаја табеле. Ако се било који упит УПДАТЕ изврши без клаузуле ВХЕРЕ, ажурирају се сва поља која се користе у упиту УПДАТЕ. Дакле, неопходно је користити наредбу УПДАТЕ са одговарајућом клаузулом ВХЕРЕ. Покрените следећу наредбу УПДАТЕ да бисте ажурирали поља наме и цонтацт_но где је вредност поља ид 1. Затим извршите наредбу СЕЛЕЦТ да бисте проверили да ли су подаци правилно ажурирани или не.

АЖУРИРАЊЕ чланова
КОМПЛЕТ име = 'Јанифер' , контакт_бр = '+880175621223'
ГДЕ ид = 1 ;

СЕЛЕЦТ * ИЗ чланови;

Следећи излаз показује да је наредба УПДАТЕ успешно извршена. Вредност поља за име је промењена у „Јанифер“, а поље цонтацт_но је промењено у „+880175621223“ записа који садржи вредност ИД-а 1 користећи упит УПДАТЕ:

Избришите податке табеле на основу посебног услова

Наредба ДЕЛЕТЕ се користи за брисање специфичног садржаја или целог садржаја табеле. Ако се било који упит ДЕЛЕТЕ изврши без клаузуле ВХЕРЕ, сва поља се бришу. Дакле, неопходно је користити наредбу УПДАТЕ са одговарајућом клаузулом ВХЕРЕ. Покрените следећу наредбу ДЕЛЕТЕ да бисте избрисали све податке из табеле књига где је вредност ИД-а 4. Затим извршите наредбу СЕЛЕЦТ да бисте проверили да ли су подаци исправно избрисани или не.

ИЗБРИШИ ИЗ књиге ГДЕ ид = 4 ;
СЕЛЕЦТ * ИЗ књиге;

Следећи излаз показује да је наредба ДЕЛЕТЕ успешно извршена. 4 тх запис табеле књига се уклања помоћу ДЕЛЕТЕ упита:

Избришите све записе из табеле

Покрените следећу наредбу ДЕЛЕТЕ да бисте избрисали све записе из табеле „књиге“ где је клаузула ВХЕРЕ изостављена. Затим извршите СЕЛЕЦТ упит да бисте проверили садржај табеле.

ИЗБРИШИ ИЗ боок_борров_инфо;
СЕЛЕЦТ * ИЗ боок_борров_инфо;

Следећи излаз показује да је табела „књиге“ празна након извршења ДЕЛЕТЕ упита:

Ако било која табела садржи атрибут аутоматског повећања и сви записи су избрисани из табеле, поље за аутоматско повећање почиње да броји од последњег повећања када се уметне нови запис након што табела буде празна. Овај проблем се може решити помоћу наредбе ТРУНЦАТЕ. Такође се користи за брисање свих записа из табеле, али поље за аутоматско повећање почиње да броји од 1 након брисања свих записа из табеле. СКЛ наредбе ТРУНЦАТЕ је приказан на следећем:

ТРУНЦАТЕ боок_борров_инфо;

Баци сто

Једна или више табела се могу одбацити провером или без провере да ли та табела постоји или не. Следећи ДРОП изрази бришу табелу „боок_борров_инфо“, а наредба „СХОВ таблес“ проверава да ли та табела постоји или не на серверу.

КАП СТО боок_борров_инфо;
ПРИКАЖИ ТАБЕЛЕ ;

Излаз показује да је табела „боок_борров_инфо“ испуштена.

Табела се може одбацити након провере да ли постоји на серверу или не. Покрените следећу ДРОП наредбу да бисте избрисали табелу књига и чланова ако ове табеле постоје на серверу. Затим, наредба „СХОВ таблес“ проверава да ли табеле постоје или не на серверу.

КАП СТО АКО ПОСТОЈИ књиге , чланови;
ПРИКАЖИ ТАБЕЛЕ ;

Следећи излаз показује да су табеле избрисане са сервера:

Испустите базу података

Покрените следећу СКЛ наредбу да бисте избрисали базу података „библиотека“ са сервера:

КАП БАЗА ПОДАТАКА библиотека;

Излаз показује да је база података испуштена.

Закључак

Најчешће коришћени примери СКЛ упита за креирање, приступ, модификовање и брисање базе података МариаДБ сервера приказани су у овом водичу креирањем базе података и три табеле. Употреба различитих СКЛ израза је објашњена на врло једноставним примерима како би се помогло новом кориснику базе података да правилно научи основе СКЛ-а. Овде је изостављена употреба сложених упита. Нови корисници базе података ће моћи да почну да раде са било којом базом података након што правилно прочитају овај водич.