Вмъкнете ред, ако стойностите вече не съществуват в Postgresl

Insert Row If Values Don T Already Exist Postgresl



Познаването и манипулирането на системите за управление на бази данни ни запознаха с промените в базите данни. Което обикновено включва създаване, вмъкване, актуализиране и изтриване на функции, приложени към конкретни таблици. В настоящата статия ще видим как се управляват данните чрез метода на вмъкване. Трябва да създадем таблица, в която искаме вмъкване. Изразът Insert се използва за добавяне на нови данни в редове от таблици. Изявлението за вмъкване на PostgreSQL обхваща някои правила за успешното изпълнение на заявка. Първо трябва да споменем името на таблицата, последвано от имена на колони (атрибути), където искаме да вмъкнем редове. Второ, трябва да въведем стойностите, разделени със запетая след клаузата VALUE. И накрая, всяка стойност трябва да бъде в същия ред, в който е предоставена последователността от списъци с атрибути, докато се създава определена таблица.

Синтаксис

>> ИНСЕРТ ВЪВTABLENAME(колона 1,колона) СТОЙНОСТИ („Стойност1“, „стойност2“);

Тук колоната е атрибутите на таблицата. Ключовата дума VALUE се използва за въвеждане на стойности. „Стойност“ са данните от таблиците, които трябва да бъдат въведени.







Вмъкване на функции за ред в черупката на PostgreSQL (psql)

След успешно инсталиране на postgresql ще въведем името на базата данни, номера на порта и паролата. Psql ще бъде иницииран. След това ще изпълним съответно заявки.





Пример 1: Използване на INSERT за добавяне на нови записи към таблици
Следвайки синтаксиса, ще създадем следната заявка. За да вмъкнем ред в таблицата, ще създадем таблица с име client. Съответната таблица съдържа 3 колони. Трябва да се спомене тип данни на конкретни колони, за да се въведат данни в тази колона и да се избегне излишък. Заявката за създаване на таблица е:





>> създавам масаклиент(документ за самоличностint,име varchar (40), странаvarchar (40));

След като създадем таблицата, сега ще въвеждаме данни, като вмъкваме редове ръчно в отделни заявки. Първо, споменаваме името на колоната, за да поддържаме точността на данните в конкретни колони по отношение на атрибутите. И тогава ще бъдат въведени стойности. Стойностите се кодират с единични коми, тъй като те трябва да бъдат вмъкнати без никакви промени.



>> вмъкване вклиент(документ за самоличност,име, страна) стойности ('1',„Alia“, „Pakistan“);

След всяко успешно вмъкване изходът ще бъде 0 1, което означава, че се вмъква 1 ред наведнъж. В заявката, както споменахме по -рано, вмъкнахме данни 4 пъти. За да видите резултатите, ще използваме следната заявка:

>> изберете*отклиент;

Пример 2: Използване на оператора INSERT при добавяне на няколко реда в една заявка
Същият подход се използва при вмъкване на данни, но не и въвеждане на оператори за вмъкване много пъти. Ще въведем данни наведнъж, като използваме определена заявка; всички стойности на един ред са разделени с. Използвайки следната заявка, ще постигнем необходимия изход

Пример 3: ВМЕСТВАНЕ на няколко реда в една таблица въз основа на числа в друга таблица
Този пример се отнася до вмъкването на данни от една таблица в друга. Помислете за две таблици, a и b. Таблица а има 2 атрибута, т.е.име и клас. Прилагайки заявка CREATE, ще въведем таблица. След създаването на таблицата данните ще бъдат въведени с помощта на заявка за вмъкване.

>> създавам масада се(име varchar (30),клас varchar (40));
>> Вмъкване вда сестойности („Амна“,1),('bhishma', '2'),(„Пронизан“, “3'),(„Надолу“,4');

Четири стойности се вмъкват в таблицата, като се използва теорията за превишаване. Можем да проверим, като използваме избрани изявления.

По същия начин ще създадем таблица b, която има атрибути на всички имена и теми. Същите 2 заявки ще бъдат приложени за вмъкване и извличане на записа от съответната таблица.

>> създавам масаб(всички имена varchar(30), предмет varchar(70));

Извлечете записа чрез теория за избор.

>> изберете*отb;

За да вмъкнете стойности на таблица б в таблицата ще използваме следната заявка. Тази заявка ще работи по такъв начин, че всички имена в таблицата б ще бъде вмъкнат в таблицата да се с преброяване на числа, които показват броя на появяванията на определено число в съответната колона на таблицата б . b.allnames представлява обектната функция за определяне на таблицата. Функцията Count (b.allnames) работи за преброяване на общите събития. Тъй като всяко име се появява наведнъж, получената колона ще има 1 номер.

>> Вмъкване вда се(име,клас) изберетеб. имена, брой(б. имена) отбгрупа отб. имена;

Пример 4: INSERT данни в редове, ако не съществуват
Тази заявка се използва за въвеждане на редове, ако не присъства. Първо предоставената заявка проверява дали редът вече е наличен или не. Ако вече съществува, данните не се добавят. И ако данните не присъстват подред, новото вмъкване ще бъде задържано. Тук tmp е временна променлива, използвана за съхраняване на данни за известно време.

>> вмъкване вб(всички имена, тема) изберете*от (изберете„Kinza“катовсички имена, „ислямиат“катопредмет) катоtmpкъдето не съществува ( изберетевсички именаотбкъдетовсички имена=„Sundus“ограничение 1);

Пример 5: Поставяне на PostgreSQL с помощта на INSERT оператор
Тази функция има две разновидности:

  • Актуализация: ако възникне конфликт, ако записът съвпада със съществуващите данни в таблицата, той се актуализира с нови данни.
  • Ако възникне конфликт, не правете нищо : Ако запис съвпада със съществуващите данни в таблицата, той пропуска записа или ако е установена грешка, той също се игнорира.

Първоначално ще формираме таблица с някои примерни данни.

>> СЪЗДАВАЙТЕ ТАБЛИЦАtbl2(документ за самоличностINT ОСНОВНИ КЛЮЧ,Име ХАРАКТЕР ВАРИЧЕН);

След създаването на таблица ще вмъкнем данни в tbl2, като използваме заявка:

>> ИНСЕРТ ВЪВtbl2СТОЙНОСТИ (1,'узма'),(2,'абдул'),(3,'Хамна'),(4,'Фатима'),(5,'шиза'),(6,„javeria“);

Ако възникне конфликт, актуализирайте:

>>ИНСЕРТ ВЪВtbl2СТОЙНОСТИ (8,'Езда') НАКОНФЛИКТ(документ за самоличност) DO АКТУАЛИЗИРАНЕ КОМПЛЕКТ Име=Изключено.Име;

Първо ще въведем данни, използвайки конфликтната заявка на id 8 и името Rida. Същата заявка ще се използва след същия идентификатор; името ще бъде променено. Сега ще забележите как имената ще бъдат променени на същия идентификатор в таблицата.

>> ИНСЕРТ ВЪВtbl2СТОЙНОСТИ (8,'Работа') НАКОНФЛИКТ(документ за самоличност) DO АКТУАЛИЗИРАНЕ КОМПЛЕКТ Име =Изключено.Име;

Открихме, че е възникнал конфликт на id 8, така че посочения ред се актуализира.

Ако възникне конфликт, не правете нищо

>> ИНСЕРТ ВЪВtbl2СТОЙНОСТИ (9,„Хира“) НАКОНФЛИКТ(документ за самоличност) DO НИЩО;

Използвайки тази заявка, се вмъква нов ред. След това ще използваме ако една и съща заявка, за да видим възникналия конфликт.

>>ИНСЕРТ ВЪВtbl2СТОЙНОСТИ (9,„Хира“) НАКОНФЛИКТ(документ за самоличност) DO НИЩО;

Според горното изображение ще видите, че след изпълнението на заявката INSERT 0 0 показва, че не са въведени данни.

Заключение

Направихме бегъл поглед върху концепцията за разбиране за вмъкване на редове в таблици, където данни или не присъстват, или вмъкването не е завършено, ако се намери някакъв запис, за да се намали излишността в отношенията с базата данни.