Интро слика СКЛ Цхеат Схеет Схеет


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

Користите ово као брзу референцу током развоја, помагала за учење или га чак исписујте и повежите ако желите (шта год ради!).

Али пре него што дођемо до самог цхеат листа, за програмере који можда нису упознати са СКЛ-ом, кренимо са…

Шта је СКЛ

СКЛ значи структурирани језик упита. То је језик избора на данашњем вебу за чување, управљање и преузимање података у релацијским базама података. Већина, ако не све веб локација које посетите користиће на неки начин, укључујући ово једна.

Ево како изгледа основна релациона база података. Овај пример посебно чува податке о е-трговини, посебно производе на продају, кориснике који их купују и евиденције о овим наруџбама које повезују ова два ентитета.

Основна релациона база података

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

Ево примера упита:-

СЕЛЕЦТ * ОД корисника;

Користећи ову изјаву СЕЛЕЦТ, упит бира све податке из свих ступаца у корисничкој табели. Затим би вратили податке као што је ниже, што се обично назива скуп резултата:-

Пример табеле корисника

Ако бисмо замењени знак звјездице (*) замијенили одређеним именима ступаца, из упита би се вратили само подаци из тих ступаца.

СЕЛЕЦТ име и презиме, од ПРЕМА корисника;

Пример таблице корисника са смањеним ступцима

Можемо додати мало сложености у стандардну изјаву СЕЛЕЦТ додавањем ВХЕРЕ клаузуле која омогућава филтрирање онога што се врати.

ОДАБИР * ОД производа ГДЈЕ залиха <= 10 ORDER BY stock_count ASC;

Овај упит ће вратити све податке из табеле производа чија је вриједност залиха мања од 10 у скупу резултата.

Употреба кључне речи ОРДЕР БИ значи да ће се резултати поредати користећи ступац стоцк_цоунт, од најнижих до највиших вредности.

Табела примера производа

Помоћу израза ИНСЕРТ ИНТО можемо додати нове податке у табелу. Ево основног примера додавања новог корисника у табелу корисника:-

ИНСЕРТ ИНТО кориснике (име, презиме, адреса, емаил)
ВРЕДНОСТИ ('Тестер', 'Јестер', '123 Факе Стреет, Схеффиелд, Уједињено Краљевство', '[емаил протецтед]');

Онда, ако бисте поново покренули упит да бисте вратили све податке из корисничке табеле, скуп резултата би изгледао овако:

Пример табеле са новим редом

Наравно, ови примери показују само врло мали избор онога за шта је СКЛ језик способан.

СКЛ вс МиСКЛ

Можда сте чули за МиСКЛ раније. Важно је да то не помешате са самим СКЛ-ом, јер постоји јасна разлика.

СКЛ вс МиСКЛСКЛ је Језик. У њему се налази синтакса која вам омогућава да пишете упите који управљају релацијским базама података. Ништа више.

МиСКЛ у међувремену је база података систем која ради на серверу. То опрема СКЛ језика, омогућавајући вам писање упита користећи његову синтаксу за управљање МиСКЛ базама података.

Поред МиСКЛ-а, постоје и други системи који имплементирају СКЛ. Неке од популарнијих укључују:

  • ПостгреСКЛ
  • СКЛите
  • Орацле Датабасе
  • Мицрософт СКЛ Сервер

Инсталирање МиСКЛ-а

Виндовс

Препоручени начин инсталирања МиСКЛ-а на Виндовс је коришћење инсталатора који можете преузети са МиСКЛ веб локација.

Инсталирајте МиСКЛ Виндовс

МацОС

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

Инсталирајте МиСКЛ Мац

Алтернативно, ако више волите да користите менаџере пакета као што су Хомебрев, можете да инсталирате МиСКЛ овако:

брев инсталл мискл

Иако је потребно да инсталирате старију верзију 5.7 МиСКЛ, која се и данас широко користи на вебу, можете:

брев инсталл [адреса е-поште заштићена]

Коришћење МиСКЛ-а

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

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

  • МиСКЛ Воркбенцх је развио Орацле, власник МиСКЛ-а.
  • ХеидиСКЛ (Препоручује се Виндовс) је бесплатна апликација отвореног кода за Виндовс. За кориснике мацОС-а и Линука, Вино прво се захтева као предуслов.
  • пхпМиАдмин је веома популарна алтернатива која делује у веб прегледачу.
  • Секуел Про (Препоручује се мацОС) је једина алтернатива мацОС-а и наша омиљена захваљујући јасном и једноставном интерфејсу.

Када сте спремни да започнете писање сопствених СКЛ упита, уместо да трошите време на стварање сопствене базе података, размислите о томе да увезете лажне податке.

Веб локација МиСКЛ пружа низ лутке базе података коју можете бесплатно преузети и затим увести у СКЛ апликацију.

Думми Датабасе МиСКЛ

Наш омиљени од њих је свет база података која пружа неке занимљиве податке за вежбање писања СКЛ упита. Ево снимка екрана њене табеле земаља у оквиру Секуел Про-а.

Пример Секуел Про

Овај пример упита враћа све земље са краљицом Елизабетом ИИ као својом државом ����.

Пример Секуел Про

Док се ова враћа у све европске земље са преко 50 милиона становника, заједно са њиховим главним градом и његовим становништвом.

Пример Секуел Про

И овај последњи враћа просечни проценат говорника француског језика у земљама у којима је укупан број говорника француског језика већи од 10%.

Пример Секуел Про

Цхеат Схеет

Кључне речи

Колекција кључних речи која се користи у СКЛ изјавама, опис и, где је то пример, пример. Неке напредније кључне речи имају свој посебни одељак касније на варалици.

Ако је МиСКЛ поменут поред примера, то значи да је овај пример применљив само на МиСКЛ базе података (за разлику од било ког другог система база података).

СКЛ кључне речи
Кључна речОпис
ДОДАТИДодаје нови ступац у постојећу табелу.

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

Корисници АЛТЕР ТАБЛЕ
АДД адреса е-поште варцхар (255);
АДД ЦОНСТРАИНТТо ствара ново ограничење за постојећу табелу, које се користи за одређивање правила за све податке у табели.

Пример: Додаје ново ПРИМАРИ КЕИ ограничење под називом „усер“ на ИД ступца и ПРЕЗИМЕ.

Корисници АЛТЕР ТАБЛЕ
ДОДАТИ ОГРАНИЧЕЊЕ ПРИМАРНИ КЉУЧ (ИД, ПРЕЗИМЕ);
АЛТЕР ТАБЛЕДодаје, брише или уређује ступце у табели. Такође се може користити за додавање и брисање ограничења у табели, као што је горе наведено.

Пример: Додаје нову логичку колону под називом „одобрено“ у табелу под називом „понуде“.

АЛТЕР ТАБЛЕ понуде
АДД одобрио боолеан;

Пример 2: Избрише 'одобрени' ступац из табеле 'понуде'

АЛТЕР ТАБЛЕ понуде
ДРОП ЦОЛУМН одобрен;
АЛТЕР ЦОЛУМНПромени врсту података у колони табеле.

Пример: У табели „корисници“ направите ступац „инцепт_дате“ у „датумско време“.

Корисници АЛТЕР ТАБЛЕ
АЛТЕР ЦОЛУМН инцепт_дате датумско време;
СВЕВраћа труе ако све вриједности подупитава испуњавају прослијеђени увјет.

Пример: Враћа кориснике са већим бројем задатака од корисника са највећим бројем задатака у ХР одељењу (ид 2)

СЕЛЕЦТ име и презиме, презиме, задатак
ОД корисника
ГДЈЕ задаци_но> СВЕ (ОДАБИР задатака ОД корисника ГДЕ департман_ид = 2);
ИКористи се за придруживање засебних услова унутар ВХЕРЕ клаузуле.

Пример: Повратак догађаја који се налазе у Лондону, Уједињено Краљевство

СЕЛЕЦТ * ИЗ догађаја
ВХЕРЕ хост_цоунтри = 'Уједињено Краљевство' АНД хост_цити = 'Лондон';
БИЛО КОЈИВраћа труе ако било која од подупитаних вриједности испуњава задани увјет.

Пример: Враћа производе из табеле производа који су примили наруџбине - чувају се у табели са наруџбама - са количином већом од 5.

СЕЛЕЦТ име
ОД производа
ГДЈЕ продуцтИд = СВАКИ (ОДАБИР производа од налога, Где количина> 5);
КАОПреименује табелу или ступац са псеудонимом вриједности која постоји само током трајања упита.

Пример: Ступац "Алиасес нортх_еаст_усер_субсцриптионс"

СЕЛЕЦТ нортх_еаст_усер_субсцриптионс АС не_субс
ОД корисника
ГДЈЕ не_субс> 5;
АСЦКористи се са ОРДЕР БИ за враћање података у узлазном редоследу.

Пример: Јабуке, банане, брескве, бранцини

ИЗМЕЂУБира вредности у датом опсегу.

Пример 1: Бира залихе са количином између 100 и 150.

СЕЛЕЦТ * ИЗ залиха
ГДЕ количина између 100 и 150;

Пример 2: Бира залихе са количином НЕ између 100 и 150. Алтернативно, овде помоћу кључне речи НОТ преокреће логику и бира вредности изван одређеног распона.

СЕЛЕЦТ * ИЗ залиха
ГДЈЕ количина која није између 100 и 150;
СЛУЧАЈПромените излаз упита у зависности од услова.

Пример: Враћа кориснике и њихове претплате, заједно са новом колоном под називом Ацтивити_левелс која доноси процену на основу броја претплата.

СЕЛЕЦТ име и презиме, претплата
СЛУЧАЈ КАДА претплате> 10 ТХЕН 'Врло активно'
КАДА Количина ИЗМЕШУ 3 И 10 ТАКО 'Активна'
ЕЛСЕ 'Инацтиве'
ЕНД АС_дисциплинарности
ОД корисника;
ПРОВЕРАВАТИДодаје ограничење које ограничава вредност која се може додати колони.

Пример 1 (МиСКЛ): Увјерава се да је било који корисник додан у таблицу корисника старији од 18 година.

ЦРЕАТЕ ТАБЛЕ корисника (
име варцхар (255),
аге инт,
ПРОВЕРИ (старост> = 18)
);

Пример 2 (МиСКЛ): Додаје чек након што је табела већ креирана.

Корисници АЛТЕР ТАБЛЕ
АДД ЦХЕЦК (аге> = 18);
КРЕИРАЈТЕ БАЗУ ПОДАТАКАСтвара нову базу података.

Пример: Ствара нову базу података под називом 'вебситесетуп'.

УСТВАРИТЕ ДАТАБАСЕ вебситесетуп;
УСТВАРИТЕ ТАБЕЛУСтвара нову табелу .

Пример: Ствара нову табелу под називом „корисници“ у бази података „вебситесетуп“.

ЦРЕАТЕ ТАБЛЕ корисника (
ид инт,
име варцхар (255),
презиме варцхар (255),
адреса варцхар (255),
цонтацт_нумбер инт
);
УОБИЧАЈЕНОПоставља задану вриједност за ступац;

Пример 1 (МиСКЛ): Ствара нову табелу под називом Производи која садржи ступац са подразумеваном вредности „Име задржавача“ и ступац „расположиви“ од задате вредности данашњег датума.

ЦРЕАТЕ ТАБЛЕ производи (
ид инт,
име варцхар (255) ДЕФАУЛТ 'Име задржавања',
доступно_од датума ДЕФАУЛТ ГЕТДАТЕ ()
);

Пример 2 (МиСКЛ): Исто као горе, али уређивање постојеће табеле.

Производи АЛТЕР ТАБЛЕ
АЛТЕР име СЕТ ДЕФАУЛТ 'Име задржавања',
АЛТЕР доступно_од СЕТ ДЕФАУЛТ ГЕТДАТЕ ();
ДЕЛЕТЕИзбришите податке из табеле.

Пример: Уклања корисника са корисничким ИД-ом 674.

ИЗУЗЕТИ ОД корисника ГДЈЕ усер_ид = 674;
ДЕСЦКористи се са ОРДЕР БИ за враћање података у силазном редоследу.

Пример: Раддисх, брескве, банане, јабуке

ДРОП ЦОЛУМНБрисање колоне из табеле.

Пример: Уклања ступац фирст_наме из таблице корисника.

Корисници АЛТЕР ТАБЛЕ
ДРОП ЦОЛУМН прво име
ДРОП БАТАБАСЕБрисање целе базе података.

Пример: Брисање базе података под називом 'вебситесетуп'.

ДРОП ДАТАБАСЕ вебситесетуп;
ДРОП ДЕФАУЛТУклања задану вредност за ступац.

Пример (МиСКЛ): Уклања задану вредност из ступца 'наме' у табели 'продуцтс'.

Производи АЛТЕР ТАБЛЕ
АЛТЕР ЦОЛУМН назив ДРОП ДЕФАУЛТ;
ДРОП ТАБЛЕБрисање табеле из базе података.

Пример: Уклања таблицу корисника.

ДРОП ТАБЛЕ корисници;
ПОСТОЈИПровјерава постојање било ког записа у подупиту, враћа се истинито ако се врати један или више записа.

Пример: Наводи све заступнике са процентом финансирања посла мањим од 10.

СЕЛЕЦТ име продавца
ИЗ заступништва
ГДЈЕ ПОСТОЈИ (ОДАБЕРИТЕ назив понуде ИЗ понуде ГДЕ је дистрибуција_ид = делатности.делерска_ид И финансије_процена < 10);
ОДОдређује из које табеле треба одабрати или избрисати податке.

Пример: Бира податке из табеле корисника.

СЕЛЕЦТ област_манагер
ФРОМ ареа_манагерс
ГДЈЕ ПОСТОЈИ (ОДАБИР ПРОИЗВОДА производа ОД производа ГДЕ област_манагер_ид = понуде.ареа_манагер_ид И цена < 20);
ИНКористи се уз клаузулу ВХЕРЕ као скраћеница за вишеструке ИЛИ услове.

Па уместо:-

СЕЛЕЦТ * ОД корисника
ВХЕРЕ држава = 'УСА' ИЛИ ​​држава = 'Уједињено Краљевство' ИЛИ ​​држава = 'Русија' ИЛИ ​​држава = 'Аустралија';

Можете користити:-

СЕЛЕЦТ * ОД корисника
ГДЈЕ се земља налази („САД“, „Велика Британија“, „Русија“, „Аустралија“);
УЛАЗИТЕ У ИНТОДодајте нове редове у табелу.

Пример: Додаје ново возило.

ИНСЕРТ ИНТО аутомобили (марка, модел, километража, година)
ВРЕДНОСТИ ('Ауди', 'А3', 30000, 2016);
ЈЕ НУЛЛТестови за празне (НУЛЛ) вредности.

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

СЕЛЕЦТ * ОД корисника
ГДЈЕ контактни број је НУЛЛ;
НИЈЕ НУЛЛРеверс НУЛЛ. Тестови за вредности које нису празне / НУЛЛ.
КАОВраћа труе ако се вредност операнда подудара са обрасцем.

Пример: Враћа се тачно ако се корисничко име заврши са 'син'.

СЕЛЕЦТ * ОД корисника
ГДЈЕ прво име ЛИКЕ '% сон';
НЕВраћа се тачно ако запис НЕ испуњава услов.

Пример: Враћа се тачно ако се корисничко име не завршава са „син“.

СЕЛЕЦТ * ОД корисника
ГДЈЕ име_НИЈЕ ЛИКЕ '% сон';
ИЛИКористи се поред ГДЈЕ за укључивање података када је било који услов тачан.

Пример: Враћа кориснике који живе или у Схеффиелду или у Манцхестеру.

СЕЛЕЦТ * ОД корисника
ВХЕРЕ цити = 'Схеффиелд' ИЛИ ​​'Манцхестер';
НАРУЧИТЕ ПОКористи се за сортирање резултата резултата узлазним (заданим) или силазним редоследом коришћењем АСЦ или ДЕСЦ кључних речи.

Пример: Враћа земље абецедним редом.

СЕЛЕЦТ * ИЗ земаља
НАРУЧИТЕ ПО имену;
РОВНУМВраћа резултате тамо где број ретка испуњава услов који је прошао.

Пример: Враћа првих 10 земаља из табеле земаља.

СЕЛЕЦТ * ИЗ земаља
ГДЈЕ РОВНУМ <= 10;
ОДАБИРКористи се за избор података из базе података који се затим враћају у скупу резултата.

Пример 1: Одабире све ступце од свих корисника.

СЕЛЕЦТ * ОД корисника;

Пример 2: Бира ступце са именима и презименима од свих корисника.кк

СЕЛЕЦТ име и презиме, презиме ОД корисника;
ОДАБИР ДИСТИНЦТИмена као СЕЛЕЦТ, осим дупликата су искључена.

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

СЕЛЕЦТ * ИНТО усерсБацкуп2020
ОД корисника;
СЕЛЕЦТ ИНТОКопира податке из једне табеле и убацује их у другу.

Пример: Враћа све земље из табеле корисника, уклањајући дупликатне вредности (што би било врло вероватно)

СЕЛЕЦТ ДИСТИНЦТ држава од корисника;
ОДАБИР ТОПОмогућава вам да вратите задати број записа за повратак из табеле.

Пример: Враћа топ 3 аутомобила са табеле аутомобила.

ОДАБИР ТОП 3 * ОД аутомобила;
КОМПЛЕТКористи се уз УПДАТЕ за ажурирање постојећих података у табели.

Пример: Ажурира вредности вредности и количине за поруџбину са идом 642 у табели налога.

УПДАТЕ наруџбе
СЕТ вредност = 19,49, количина = 2
ГДЈЕ ид = 642;
НЕКИИдентичан за било кога.
ТОПКористи се уз СЕЛЕЦТ за враћање заданог броја записа из табеле.

Пример: Враћа првих 5 корисника из табеле корисника.

ОДАБИР ТОП 5 * ОД корисника;
ТРУНЦАТНА ТАБЕЛАСлично је с ДРОП-ом, али уместо брисања табеле и њених података, она брише само податке.

Пример: Испразњује таблицу сесија, али саму таблицу оставља нетакнутом.

ТРУНЦАТЕ ТАБЛЕ сесије;
УНИЈАКомбинује резултате из 2 или више СЕЛЕЦТ изјава и враћа само различите вредности.

Пример: Враћа градове из табела догађаја и претплатника.

ОДАБИР града из догађаја
УНИЈА
ИЗАБЕРИТЕ град од претплатника;
УНИОН АЛЛИсто као и УНИОН, али укључује дуплиране вредности.
ЈЕДИНСТВЕНОво ограничење осигурава да су све вредности у колони јединствене.

Пример 1 (МиСКЛ): Додаје јединствено ограничење колони ид приликом креирања нове таблице корисника.

ЦРЕАТЕ ТАБЛЕ корисника (
ид инт НИЈЕ НУЛЛ,
име варцхар (255) НОТ НУЛЛ,
Уникатан ид)
);

Пример 2 (МиСКЛ): Промени постојећу колону ради додавања УНИКУЕ ограничења.

Корисници АЛТЕР ТАБЛЕ
АДД УНИКУЕ (ид);
АЖУРИРАЊЕАжурира постојеће податке у табели.

Пример: Ажурира вредности километраже и сервицеДуе за возило са ид-ом 45 у табели аутомобила.

УПДАТЕ аутомобили
СЕТ километража = 23500, услугаДуе = 0
ГДЈЕ ид = 45;
ВРЕДНОСТИКористи се поред кључне речи ИНСЕРТ ИНТО за додавање нових вредности у табелу.

Пример: Додаје ново возило на стол аутомобила.

ИНСЕРТ ИНТО аутомобили (име, модел, година)
ВРЕДНОСТИ ('Форд', 'Фиеста', 2010);
ГДЕФилтрирање резултата укључује само податке који испуњавају задати услов.

Пример: Враћа поруџбине са количином већом од 1 артикла.

ОДАБИР * ОД налога
ГДЈЕ количина> 1;

Коментари

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

У СКЛ-у постоје 2 врсте коментара, једноредни и вишелинијски.

Коментари појединачних линија

Коментари у једној линији почињу са -. Текст након та два знака до краја ретка биће занемарен.

-- Мој Избор упита
СЕЛЕЦТ * ОД корисника;

Вишестрани коментари

Мултилине коментари почињу са / * и завршавају са * /. Протежу се преко више линија све док нису пронађени знаци затварања.

/ *
Ово је мој одабир.
Хвата све редове података из табеле корисника
* /
СЕЛЕЦТ * ОД корисника;

/ *
Ово је још један селекциони упит који још не желим да извршим

СЕЛЕЦТ * ИЗ задатака;
* /

Типови података МиСКЛ

Када креирате нову таблицу или уређујете постојећу, морате навести врсту података коју свака колона прихвата.

У примјеру у наставку, подаци прослијеђени колони ид морају бити инт, док ступац фирст_наме има ВАРЦХАР тип података са највише 255 знакова.

ЦРЕАТЕ ТАБЛЕ корисника (
ид инт,
име варцхар (255)
);

Врсте врста стрингова

Врсте врста стрингова
Тип податакаОпис
ЦХАР (величина)Низ фиксне дужине који може садржавати слова, бројеве и посебне знакове. Параметар величине поставља максималну дужину низа, од 0 - 255, са заданом 1.
ВАРЦХАР (величина)Низ променљиве дужине сличан ЦХАР (), али са максималним распоном дужина низа од 0 до 65535.
БИНАРИ (величина)Слично је ЦХАР (), али чува бинарне низове бајтова.
ВАРБИНАРСКА (величина)Слично као код ВАРЦХАР (), али за бинарне низове бајтова.
ТИНИБЛОБСадржи бинарне велике објекте (БЛОБ) са максималном дужином од 255 бајта.
ТИНИТЕКСТСадржи низ максималне дужине од 255 знакова. Уместо тога, користите ВАРЦХАР (), јер се добија много брже.
Величина текста)Садржи низ максималне дужине 65535 бајтова. Још једном, боље је користити ВАРЦХАР ().
БЛОБ (величина)Садржи бинарне велике објекте (БЛОБ) са максималном дужином од 65535 бајтова.
МЕДИУМТЕКСТСадржи стринг са максималном дужином од 16,777,215 карактера.
МЕДИУМБЛОБСадржи бинарне велике објекте (БЛОБ) са максималном дужином од 16,777,215 бајтова.
ЛОНГТЕКСТСадржи низ максималне дужине од 4.294.967.295 знакова.
ЛОНГБЛОБДржи бинарне велике објекте (БЛОБ) са максималном дужином од 4.294.967.295 бајтова.
ЕНУМ (а, б, ц, итд ...)Објекат низа који има само једну вредност и изабран је са списка вредности које дефинишете, до максималних 65535 вредности. Ако је додата вредност која није на овој листи, уместо ње се замењује празна вредност. Замислите да ЕНУМ у том погледу буде сличан ХТМЛ радио оквирима.

ЦРЕАТЕ ТАБЛЕ мајице (боја ЕНУМ ('црвена', 'зелена', 'плава', 'жута', 'љубичаста'));
СЕТ (а, б, ц, итд ...)Објекат низа који може имати 0 или више вредности, а који је изабран са листе вредности коју дефинишете, до максимално 64 вредности. Сматрајте да је СЕТ у том погледу сличан ХТМЛ потврдним оквирима.

Нумерички типови података

Врсте врста стрингова
Тип податакаОпис
БИТ (величина)Тип битне вриједности са заданом од 1. Дозвољени број битова у вриједности се поставља путем параметра величине, који може садржавати вриједности од 1 до 64.
ТИНИИНТ (величина)Веома мали цео број са потписаним распоном од -128 до 127, и несигурним распоном од 0 до 255. Овде, параметар величине одређује максималну дозвољену ширину екрана, која је 255.
БООЛУ основи је брз начин постављања ступца на ТИНИИНТ величине 1. 0 сматра се лажним, док се 1 сматра тачним.
БООЛЕАНИсто као БООЛ.
МАЛО (величина)Мали цео број са потписаним распоном од -32768 до 32767 и несписаним распоном од 0 до 65535. Овде, параметар величине одређује максималну дозвољену ширину екрана, која је 255.
МЕДИУМИНТ (величина)Средњи цели број са потписаним распоном од -8388608 до 8388607 и несигурним распоном од 0 до 16777215. Овде, параметар величине одређује максималну дозвољену ширину екрана, која је 255.
ИНТ (величина)Средњи цели број са потписаним распоном од -2147483648 до 2147483647 и непријављеним распоном од 0 до 4294967295. Овде, параметар величине одређује максималну дозвољену ширину екрана, која је 255.
ИНТЕГЕР (величина)Исто као ИНТ.
БИГИНТ (величина)Средњи цели број са потписаним распоном од -9223372036854775808 до 9223372036854775807, и несписаним распоном од 0 до 18446744073709551615. Овде, параметар величине одређује максималну дозвољену ширину екрана, која је 255.
ФЛОАТ (п)Вредност броја плутајуће тачке. Ако је параметар прецизности између 0 и 24, тада је врста података постављена на ФЛОАТ (), док је ако је од 25 до 53, тип података постављен на ДОУБЛЕ (). Оваквим понашањем се чува вредност ефикасније.
Дупли (величина, д)Вредност броја плутајуће тачке у којој су укупне цифре постављене параметром величине, а број цифара након децималне тачке постављен параметром д.
ДЕЦИМАЛНА (величина, д)Тачан број фиксних тачака у коме је укупан број цифара постављен параметрима величине, а укупан број цифара након децималне тачке постављен је параметром д.

За величину, максимални број је 65, а задани је 10, док је за д, максимални број 30, а задани 10.

ДЕЦ (величина, д)Исто као ДЕЦИМАЛ.

Датум / време Типови података

Датум / време Типови података
Тип податакаОпис
ДАТУМЈедноставан датум у ИИИИ-ММ – ДД формату, са подржаним распоном од „1000-01-01“ до „9999-12-31“.
ДАТЕТИМЕ (фсп)Датум у ИИИИ-ММ-ДД хх: мм: сс формату, са подржаним распоном од '1000-01-01 00:00:00' до '9999-12-31 23:59:59'.

Додавањем ДЕФАУЛТ и ОН УПДАТЕ у дефиницију ступца, аутоматски се поставља на тренутни датум / време.

ТИМЕСТАМП (фсп)Уник Тиместамп, која је вредност у односу на број секунди од Уник епохе ('1970-01-01 00:00:00' УТЦ). Подржани су распони од '1970-01-01 00:00:01' УТЦ до УТЦ 2038-01-09 03:14:07 УТЦ.

Додавањем ДЕФАУЛТ ЦУРРЕНТ_ТИМЕСТАМП и УПДАТЕ ЦУРРЕНТ ТИМЕСТАМП у дефиницију колоне, аутоматски се поставља тренутни датум / време.

ВРЕМЕ (фсп)Време у хх: мм: сс формату, са подржаним распоном од '-838: 59: 59' до '838: 59: 59'.
ГОДИНАГодину, са подржаним распоном од '1901' до '2155'.

Оператори

Аритметички оператори

Аритметички оператори
ОператорОпис
+Додати
-Одузимање
*Помножите се
/Подела
%Модуло

Битвисе Оператор

Битвисе Операторс
ОператорОпис
&Битвисе АНД
|Битвисе ИЛИ
^Битно ексклузивно ИЛИ

Оператори за поређење

Оператори за поређење
ОператорОпис
=Једнако
>Веће од
<Мање од
> =Већи или једнак
<=Мање од или једнако
<>Неједнако са

Комбиновани оператори

Комбиновани оператори
ОператорОпис
+=Додајте једнаке
-=Одузимање једнако
* =Много једнака
/ =Поделите једнаке
% =Модуло је једнако
& =Битвисе АНД једнако
^ - =Битно ексклузивно једнако
| * =Битвисе ИЛИ једнаке

Функције

Стринг функције

Стринг функције
ИмеОпис
АСЦИИВраћа еквивалентну АСЦИИ вредност за одређени знак.
ЦХАР_ЛЕНГТХВраћа дужину знака низа.
ЦХАРАЦТЕР_ЛЕНГТХИсто као ЦХАР_ЛЕНГТХ.
ЦОНЦАТДодаје изразе заједно, са најмање 2.
ЦОНЦАТ_ВСДодаје изразе заједно, али са одвајачем између сваке вредности.
ПољеВраћа вредност индекса у односу на позицију вредности у листи вредности.
Пронађи у сетуВраћа позицију низа у листу низова.
ФОРМАТКад прође број, врати тај број форматиран тако да садржи зарез (нпр. 3,400,000).
ИНСЕРТОмогућује вам да у одређени тренутак убаците један низ у други, за одређени број знакова.
ИНСТРВраћа положај првог пута када се један низ појави унутар другог.
ЛЦАСЕПретворите низ у мала слова.
ЛевоПолазећи са леве стране, извуците задати број знакова из низа и вратите их као друге.
ДОЛИНАВраћа дужину низа, али у бајтовима.
ЛОКАТВраћа прву појаву једног низа унутар другог,
НИЗАИсто као ЛЦАСЕ.
ЛПАДЛева јастучиће један низ са другом, до одређене дужине.
ЛТРИМУклоните било који водећи размак из датог низа.
СредњиИзвлачи један низ из другог, почевши од било које позиције.
ПОЗИЦИЈАВраћа положај првог пута када се једна подврста појави унутар друге.
ПОНАВЉАЊЕОмогућује вам понављање низа
ЗАМЕНИТИОмогућује вам да замените било које инстанце подстре у низу новом подстрингом.
РЕВЕРСЕОбрће стринг.
ЈЕЛ ТАКОПолазећи с десне стране, извуците задати број знакова из низа и вратите их као друге.
РПАДДесно завежите један низ другим, до одређене дужине.
РТРИМУклања све заостале просторе из датог низа.
ПРОСТОРВраћа низ пун размака једнак износу који сте га пребацили.
СТРЦМПУпоређује 2 жице за разлике
СУБСТРИзвлачи једну подстрану из друге, почевши од било које позиције.
ПОДИЗАЊЕИсто као СУБСТР
СУБСТРИНГ_ИНДЕКСВраћа подстрану из низа прије него што је пронађена подстринг, колико пута је једнака пренесеном броју.
ТРИМУклања задне и водеће просторе из датог низа. Исто као да бисте заједно покренули ЛТРИМ и РТРИМ.
УЦАСЕПретвори низ у велика слова.
ГОРЊИИсто као и УЦАСЕ.

Нумеричке функције

Нумеричке функције
ИмеОпис
АБСВраћа апсолутну вредност датог броја.
АЦОСВраћа косинус над датим бројем.
КАО УВраћа синус лука датог броја.
АТАНВраћа тангенцију лука једног или два дана.
АТАН2Вратите тангенцију лука од 2 дата броја.
АВГВраћа просечну вредност датог израза.
ЦЕИЛВраћа најближи цели број (цели број) према горе од датог броја децималне тачке.
ПЛАФОНИсто као ЦЕИЛ.
ЦОСВраћа косинус датог броја.
ЦОТВраћа котангенс одређеног броја.
ЦОУНТВраћа количину записа који су враћени СЕЛЕЦТ упитом.
ДЕГРЕЕСПретвара вредност радијана у степене.
ДИВОмогућује вам дељење целих бројева.
ЕКСПВраћа е на снагу датог броја.
СПРАТВраћа најближи цели број (цели број) према доље од датог броја децималне тачке.
ВЕЛИКАВраћа највећу вредност на листи аргумената.
ЛЕАСТВраћа најмању вредност на листи аргумената.
ЛНВраћа природни логаритам наведеног броја
ПРИЈАВАВраћа природни логаритам датог броја или логаритам одређеног броја датој бази
ЛОГ10Да ли је исто што и ЛОГ, али на основу 10.
ЛОГ2Да ли је исто као ЛОГ, али на основу 2.
МАКСВраћа највећу вредност из скупа вредности.
МИНВраћа најнижу вредност из скупа вредности.
МОДВраћа остатак датог броја подељен са другим датим бројем.
ПИВраћа ПИ.
ЗаробљеникВраћа вредност датог броја подигнутог на снагу другог датог броја.
СНАГАИсто као заробљеник.
РАДИАНСПретвара вредност степена у радијане.
РАНДВраћа случајни број.
ОКРУГЉЕЗаокружите наведени број на дати износ децималних места.
ПОТПИСВраћа знак заданог броја.
СИНВраћа синус датог броја.
СКРТВраћа квадратни корен датог броја.
СУМВраћа комбиновану вредност датог скупа вредности.
ТАНВраћа тангенцију датог броја.
ТРУНЦАТЕВраћа број прирезан заданом броју децималних места.

Функције датума

Функције датума
ИмеОпис
ДОДАТИДодајте интервал (нпр: 10 ДАН) датуму (нпр .: 20/01/20) и вратите резултат (нпр: 20/01/30).
ДОДАТАКДодајте временски интервал (нпр: 02:00) у време или датум (05:00) и вратите резултат (07:00).
КУРДИРАЊЕДохвати тренутни датум.
ТРЕНУТНИ ДАТУМИсто као КУРДАТЕ.
ТРЕНУТНО ВРЕМЕДознајте тренутно време.
ЦУРРЕНТ_ТИМЕСТАМПДохвати тренутни датум и време.
ЦУРТИМЕИсто као ЦУРРЕНТ_ТИМЕ.
ДАТУМИзвлачи датум из израза датетиме.
ДАТЕДИФФВраћа број дана између два наведена датума.
ДАТЕ_АДДИсто као ДОДАТАК.
ФОРМАТ ДАТУМАФорматира датум у датом обрасцу.
ДАТЕ_СУБОдужите датумски интервал (нпр: 10 ДАИ) од датума (нпр .: 20/01/20) и вратите резултат (нпр: 20/01/10).
ДАНВраћа дан за одређени датум.
ДАИНАМЕВраћа назив радног дана за дан.
ДАН У НЕДЕЉИВраћа индекс за радни дан за дан.
ДАИОФИЕАРВраћа дан у години за одређени датум.
ИЗУЗЕТЕИзвлачење из датума датог дела (нпр. МЕСЕЦА за 20/01/20 = 01).
ОД ДАНАВратите датум из дате нумеричке вредности датума.
ХОУРВратите час од наведеног датума.
ПОСЛЕДЊИ ДАННабавите последњи дан у месецу за одређени датум.
ЛОКАЛНО ВРЕМЕДобива тренутни локални датум и време.
ЛОЦАЛТИМЕСТАМПИсто као ЛОЦАЛТИМЕ.
МАКЕДАТЕСтвара датум и враћа га на основу вредности дате године и броја дана.
МАКЕТИМЕСтвара време и враћа га на основу задатих вредности сата, минута и секунде.
МИЦРОСЕЦОНДВраћа микросекунду одређеног времена или датума.
МИНУТЕВраћа минут заданог времена или времена.
МЕСЕЦ ДАНАВраћа месец одређеног датума.
МОНТХНАМЕВраћа име месеца одређеног датума.
САДАИсто као ЛОЦАЛТИМЕ.
ПЕРИОД_АДДДодаје број месеци у датом периоду.
ПЕРИОД_ДИФФВраћа разлику између два дата периода.
КВАРТАРВраћа квартал године за одређени датум.
ДРУГИВраћа секунду одређеног времена или датума.
СЕЦ_ТО_ТИМЕВраћа време на основу датих секунди.
СТР_ТО_ДАТЕСтвара датум и враћа га на основу датог низа и формата.
СУБДАТЕИсто као ДАТЕ_СУБ.
СУБТИМЕОдузмите временски интервал (нпр: 02:00) до времена или датума (05:00) и вратите резултат (03:00).
СИСДАТЕИсто као ЛОЦАЛТИМЕ.
ВРЕМЕВраћа време из одређеног времена или датума.
ФОРМАТ ВРЕМЕНАВраћа дато време у датом формату.
ТИМЕ_ТО_СЕЦПретвара и враћа време у секунди.
ТИМЕДИФФВраћа разлику између два дана израза време / датум.
ТИМЕСТАМПВраћа вредност датумског датума или датума.
ТО_ДАИСВраћа укупан број дана који су прошли од '00 -00-0000 'до одређеног датума.
НЕДЕЉАВраћа број недеље за одређени датум.
НЕДЕЉАВраћа број радног дана за дан.
ВЕЕКОФИЕАРВраћа број недеље за одређени датум.
ГОДИНАВраћа годину од датог датума.
ИЕАРВЕЕКВраћа број године и недеље за одређени датум.

Разне функције

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

Пример: Наводи број корисника са активним поруџбинама.

СЕЛЕЦТ ЦОУНТ (усер_ид), ацтиве_ордерс
ОД корисника
ГРОУП БИ ацтиве_ордерс;
ХАВИНГКористи се уместо ГДЈЕ са скупним функцијама.

Пример: Наводи број корисника са активним поруџбинама, али укључује само кориснике са више од 3 активна налога.

СЕЛЕЦТ ЦОУНТ (усер_ид), ацтиве_ордерс
ОД корисника
ГРОУП БИ ацтиве_ордерс
ХАВИНГ ЦОУНТ (усер_ид)> 3;
АКОАко је увјет истинит вратите вриједност, у супротном вратите другу вриједност.
ИФНУЛЛАко је дати израз једнак нули, вратите задану вредност.
ИСНУЛЛАко је израз нула, вратите 1, у супротном вратите 0.
ЛАСТ_ИНСЕРТ_ИДЗа последњи ред који је додан или ажуриран у табели вратите ИД аутоматског прираштаја.
НУЛЛИФУпоређује два дата израза. Ако су једнаке, враћа се НУЛЛ, иначе се враћа први израз.
СЕССИОН_УСЕРВратите тренутног корисника и имена хоста.
СИСТЕМ_УСЕРИсто као СЕССИОН_УСЕР.
УСЕРИсто као СЕССИОН_УСЕР.
ВЕРСИОНВраћа тренутну верзију МиСКЛ напајања базе података.

Вилдцард карактери

У СКЛ-у Вилдцардс су посебни знакови који се користе уз кључне речи ЛИКЕ и НОТ ЛИКЕ који нам омогућавају много ефикасније претраживање података са софистицираним узорцима.

Вилдцардс
ИмеОпис
%Значи нула или више знакова.

Пример 1: Пронађи све кориснике са презименима која завршавају на 'сон'.

СЕЛЕЦТ * ОД корисника
ГДЈЕ презиме ЛИКЕ '% сон';

Пример 2: Пронађите све кориснике који живе у градовима који садрже образац 'цхе'

СЕЛЕЦТ * ОД корисника
Где град ЛИКЕ '% цхе%';
_Изједначава се са било којим ликом.

Пример: Пронађите све кориснике који живе у градовима који почињу са било која 3 знака, а затим следи „цхестер“.

СЕЛЕЦТ * ОД корисника
Где град ЛИКЕ '___цхестер';
[цхарлист]Изједначава се са било којим једним знаком на листи.

Пример 1: Пронађите све кориснике са именима који почињу са Ј, Х или М.

СЕЛЕЦТ * ОД корисника
ГДЈЕ прво име ЛИКЕ '[јхм]%';

Пример 2: Пронађите све кориснике са именима који почињу слова између слова А - Л.

СЕЛЕЦТ * ОД корисника
ГДЈЕ прво име ЛИКЕ '[а-л]%';

Пример 3: Пронађите све кориснике са именима која се не завршавају словима између н - с.

СЕЛЕЦТ * ОД корисника
ГДЈЕ прво име ЛИКЕ '% [! Н-с]';

Кључеви

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

Примарни кључ

Примарни кључ омогућава да се сваки запис у табели јединствено идентификује. По табели може да постоји само један примарни кључ, а ово ограничење можете доделити било којем колону или комбинацији. Међутим, то значи да свака вредност унутар овог ступца (е) мора бити јединствена.

Типично у табели је примарни кључ колону ИД и обично је упарен са кључном речју АУТО_ИНЦРЕМЕНТ. То значи да се вредност аутоматски повећава како се стварају нови записи.

Пример 1 (МиСКЛ)

Направите нову табелу и поставите примарни кључ на колону ИД.

ЦРЕАТЕ ТАБЛЕ корисника (
ид инт НИЈЕ НУЛЛ АУТО_ИНЦРЕМЕНТ,
име варцхар (255),
ласт_наме варцхар (255) НИЈЕ НУЛЛ,
адреса варцхар (255),
емаил варцхар (255),
ПРИМАРНИ КЉУЧ (ид)
);

Пример 2 (МиСКЛ)

Измијените постојећу таблицу и поставите примарни кључ на ступац фирст_наме.

Корисници АЛТЕР ТАБЛЕ
ДОДАТИ ПРИМАРНИ КЉУЧ (име и презиме);

Страни кључ

Страни кључ се може применити на један ступац или на више и користи се за повезивање две табеле заједно у релацијској бази података.

Као што се види на доњем дијаграму, табела која садржи страни кључ назива се надређеним кључем, док се табела која садржи референтни кључ или кандидатски кључ назива надређена табела.

МиСКЛ тастери

То у суштини значи да се подаци ступаца деле између две табеле, пошто страни кључ такође спречава да се неисправни подаци убаце, а који такође нису у надређеној табели.

Пример 1 (МиСКЛ)

Направите нову табелу и све колоне који упућују ИД-ове у другим табелама претворите у стране кључеве.

КРЕИРАЈТЕ НАБАВКЕ ТАБЕЛА (
ид инт НИЈЕ НУЛЛ,
усер_ид инт,
продуцт_ид инт,
ПРИМАРНИ КЉУЧ (ид),
СТРАНИ КЉУЧ (усер_ид) РЕФЕРЕНЦЕ корисници (ид),
СТРАНИ КЉУЧ (продуцт_ид) РЕФЕРЕНЦЕ производи (ид)
);

Пример 2 (МиСКЛ)

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

АЛТЕР ТАБЛЕ налога
ДОДАТИ СТРАНИ КЉУЧ (усер_ид) РЕФЕРЕНЦЕ корисника (ид);

Индекси

Индекси су атрибути који се могу додијелити колонама за којима се често претражује како би бржи и ефикаснији проналазак података.

То не значи да би сваки ступац требало да буде претворен у индекс, јер траје дуже време да се колона са индексом ажурира него колона без. То је зато што када се ажурирају индексирани ступци морају бити ажурирани и сам индекс.

Индекси
ИмеОпис
ЦРЕАТЕ ИНДЕКССтвара индекс под називом „идк_тест“ у ступацима имена и презимена таблице корисника. У овом су случају допуштене дуплициране вриједности.

ЦРЕАТЕ ИНДЕКС идк_тест
ОН корисници (име и презиме);
УСТВАРИТЕ ЈЕДИНСТВЕНИ ИНДЕКСИсто као горе, али без дупликата.

ЦРЕАТЕ УНИКУЕ ИНДЕКС идк_тест
ОН корисници (име и презиме);
ДРОП ИНДЕКСУклања индекс.

Корисници АЛТЕР ТАБЛЕ
ДРОП ИНДЕКС идк_тест;

Придружује се

У СКЛ-у се ЈОИН клаузула користи за враћање скупа резултата који комбинује податке из више табела на основу заједничке колоне која је приказана у обе.

На располагању вам је неколико различитих придруживања:-

  • Унутрашње придруживање (задано): Враћа све записе који имају подударне вредности у обе табеле.
  • Лефт Јоин: Враћа све записе из прве табеле, заједно са било којим одговарајућим записима из друге табеле.
  • Ригхт Јоин: Враћа све записе из друге табеле, заједно са било којим одговарајућим записима из прве.
  • Потпуно придруживање: Враћа све записе из обе табеле када постоји подударање.

Уобичајени начин визуелног представљања како се ради о придруживању је следећи:

МиСКЛ придружује

У следећем примеру користиће се унутрашње спајање за креирање новог обједињујућег приказа који комбинује табелу налога и затим 3 различите табеле

Заменућемо усер_ид и продуцт_ид са ступовима имена и презимена корисника који је послао поруџбину, заједно са именом предмета који је купљен.

МиСКЛ Табела примера

СЕЛЕЦТ ордер.ид, усерс.фирст_наме, име корисника.наме, продуцтс.наме као 'име производа'
ОД налога
ИННЕР ЈОИН корисника на ордер.усер_ид = усерс.ид
ИННЕР ЈОИН производи на поруџбине.продуцт_ид = продуцтс.ид;

Вратиће скуп резултата који изгледа као:

МиСКЛ Табела примера

Поглед

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

Стварање приказа

Да бисте створили приказ, то можете учинити на следећи начин:

ЦРЕАТЕ ВИЕВ приорити_усерс АС
СЕЛЕЦТ * ОД корисника
ВХЕРЕ држава = 'Велика Британија';

Онда у будућности, ако требате да приступите спремљеном скупу резултата, то можете учинити на овај начин:

СЕЛЕЦТ * ФРОМ [приоритетни_корисници];

Замена погледа

Помоћу наредбе ЦРЕАТЕ ИЛИ ЗАМЕНА, приказ се може ажурирати.

УСТВАРИТЕ ИЛИ ЗАМЕЊИТЕ ВИШЕ [приоритетни_корисници] АС
СЕЛЕЦТ * ОД корисника
ВХЕРЕ држава = 'Уједињено Краљевство' ИЛИ ​​држава = 'САД';

Брисање погледа

Да бисте избрисали приказ, једноставно употребите наредбу ДРОП ВИЕВ.

ДРОП ВИЕВ приорити_усерс;

Закључак

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

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me