Уметните ред ако вредности већ не постоје у Постгреслу

Insert Row If Values Don T Already Exist Postgresl



Познавање и руковање системима управљања базама података упознало нас је са променама у вези са базама података. Што обично укључује креирање, уметање, ажурирање и брисање функција примењених на одређене табеле. У тренутном чланку ћемо видети како се подацима управља методом уметања. Морамо да направимо табелу у коју желимо уметање. Наредба Инсерт користи се за додавање нових података у редове табела. Наредба за уметање ПостгреСКЛ -а покрива нека правила за успешно извршавање упита. Прво морамо споменути назив табеле, затим имена колона (атрибуте) у које желимо да уметнемо редове. Друго, морамо унети вредности, одвојене зарезом после клаузуле ВАЛУЕ. Коначно, свака вредност мора бити у истом редоследу као што је обезбеђен редослед листа атрибута при креирању одређене табеле.

Синтакса

>> ИНСЕРТ УТАБЛЕНАМЕ(колона1,колона) ВРЕДНОСТИ („Вредност1“, „вредност2“);

Овде је колона атрибути табеле. Кључна реч ВАЛУЕ се користи за унос вредности. „Вредност“ су подаци табела које треба унети.







Уметање функција реда у ПостгреСКЛ љуску (пскл)

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





Пример 1: Употреба ИНСЕРТ за додавање нових записа у табеле
Пратећи синтаксу, креираћемо следећи упит. Да бисмо уметнули ред у табелу, креираћемо табелу са именом цустомер. Одговарајућа табела садржи 3 колоне. Треба унијети тип података за одређене колоне да бисте унијели податке у ту колону и избјегли вишак. Упит за креирање табеле је:





>> Креирај стомуштерија(идинт,име варцхар (40), држававарцхар (40));

Након креирања табеле, сада ћемо уносити податке ручним уметањем редова у засебне упите. Прво, спомињемо назив колоне да бисмо одржали тачност података у одређеним колонама у вези са атрибутима. Затим ће се унети вредности. Вредности су кодиране појединачним зарезима, јер се убацују без икаквих измена.



>> уметнути умуштерија(ид,име, држава) вредности ('1',„Алиа“, „Пакистан“);

Након сваког успешног уметања, излаз ће бити 0 1, што значи да се убацује 1 ред одједном. У упиту као што је раније поменуто, уметнули смо податке 4 пута. Да бисмо видели резултате, користићемо следећи упит:

>> изаберите*фромкупац;

Пример 2: Коришћење израза ИНСЕРТ за додавање више редова у један упит
Исти приступ се користи за уметање података, али не и за увођење уметнутих изјава много пута. Унећемо податке одједном помоћу одређеног упита; све вредности једног реда одвојене су помоћу. Помоћу следећег упита постижемо потребан излаз

Пример 3: УМЕТНИТЕ више редова у једној табели на основу бројева у другој табели
Овај пример се односи на уметање података из једне табеле у другу. Размотримо две табеле, а и б. Табела а има 2 атрибута, односно назив и класу. Применом упита ЦРЕАТЕ увешћемо табелу. Након креирања табеле, подаци ће се уносити помоћу упита за уметање.

>> Креирај стодо(име варцхар (30),класа варцхар (40));
>> Инсерт удовредности („Амна“,1),('бхисхма', '2'),(„Јавед“, “3'),('Доле',4');

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

Слично, креираћемо табелу б са атрибутима свих имена и предмета. Иста 2 упита ће се применити за уметање и преузимање записа из одговарајуће табеле.

>> Креирај стоб(аллнамес варцхар(30), предмет варцхар(70));

Дохватите запис помоћу изабране теорије.

>> изаберите*фромб;

Да бисте уметнули вредности табеле б у табели ћемо користити следећи упит. Овај упит ће радити на такав начин да сви називи у табели б биће уметнуто у табелу до са бројењем бројева који показују број појављивања одређеног броја у одговарајућој колони табеле б . б.аллнамес представља функцију објекта за спецификацију табеле. Функција Цоунт (б.аллнамес) ради за бројање укупног броја догађаја. Како се свако име појављује одједном, тако ће и резултирајућа колона имати 1 број.

>> Инсерт удо(име,класа) изаберитеб. имена, бројање(б.имена) фромбгрупа од странеб.имена;

Пример 4: УМЕТНИТЕ податке у редове ако не постоје
Овај упит се користи за унос редова ако није присутан. Прво понуђени упит проверава да ли је ред већ присутан или не. Ако већ постоји, подаци се не додају. А ако подаци нису присутни у низу, ново уметање ће се задржати. Овде је тмп привремена променљива која се користи за складиштење података неко време.

>> уметнути уб(сва имена, предмет) изаберите*фром (изаберите„Кинза“каосва имена, 'исламиат'каопредмет) каотмпгде не постоји ( изаберитесва именафромбгдесва имена=„Сундус“лимит 1);

Пример 5: ПостгреСКЛ надоградња помоћу ИНСЕРТ израза
Ова функција има две врсте:

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

У почетку ћемо формирати табелу са неким узорцима података.

>> КРЕИРАЈ СТОтбл2(ИДИНТ ПРИМАРНИ КЕИ,Име РАЗЛИКА ЛИКОВА);

Након креирања табеле уметнућемо податке у тбл2 помоћу упита:

>> ИНСЕРТ Утбл2ВРЕДНОСТИ (1,'узма'),(2,'абдул'),(3,'Хамна'),(4,'фатима'),(5,'схиза'),(6,'јавериа');

Ако дође до сукоба, ажурирајте:

>>ИНСЕРТ Утбл2ВРЕДНОСТИ (8,„Вози“) НАКОНФЛИКТ(ИД) УРАДИТИ АЖУРИРАЊЕ КОМПЛЕТ Име=Искључено.Име;

Прво ћемо унети податке користећи конфликтни упит ид 8 и име Рида. Исти упит ће се користити након истог ИД -а; име ће се променити. Сада ћете приметити како ће се имена променити на истом ИД -у у табели.

>> ИНСЕРТ Утбл2ВРЕДНОСТИ (8,'Посао') НАКОНФЛИКТ(ИД) УРАДИТИ АЖУРИРАЊЕ КОМПЛЕТ Име =Искључено.Име;

Утврдили смо да је дошло до сукоба на ид 8, па се наведени ред ажурира.

Ако дође до сукоба, немојте ништа учинити

>> ИНСЕРТ Утбл2ВРЕДНОСТИ (9,'Хира') НАКОНФЛИКТ(ИД) УРАДИТИ НИШТА;

Помоћу овог упита убацује се нови ред. Након тога ћемо користити исти упит да видимо сукоб који се догодио.

>>ИНСЕРТ Утбл2ВРЕДНОСТИ (9,'Хира') НАКОНФЛИКТ(ИД) УРАДИТИ НИШТА;

Према горњој слици, видећете да након извршења упита ИНСЕРТ 0 0 показује да нису унети подаци.

Закључак

Бацили смо поглед на концепт разумевања уметања редова у табеле у којима подаци или нису присутни, или уметање није довршено, ако се пронађе било који запис, како би се смањила редундантност у односима према бази података.