PostgreSQL

Vložte riadok, ak hodnoty v Postgresl už neexistujú

Vložte riadok, ak hodnoty v Postgresl už neexistujú

Vďaka znalosti systémov manipulácie s databázami a manipulácii s nimi sme sa oboznámili s úpravami databáz. Čo zvyčajne zahŕňa vytváranie, vkladanie, aktualizáciu a mazanie funkcií použitých v konkrétnych tabuľkách. V aktuálnom článku uvidíme, ako sú dáta spravované metódou vkladania. Musíme vytvoriť tabuľku, do ktorej chceme vloženie. Príkaz Insert sa používa na pridanie nových údajov do riadkov tabuliek. Príkaz PostgreSQL inserts pokrýva niektoré pravidlá pre úspešné vykonanie dotazu. Najprv musíme spomenúť názov tabuľky, za ktorým nasledujú názvy stĺpcov (atribútov), ​​do ktorých chceme vložiť riadky. Po druhé, musíme zadať hodnoty oddelené čiarkou za klauzulou VALUE. Nakoniec musí byť každá hodnota v rovnakom poradí, v akom je uvedená postupnosť zoznamov atribútov pri vytváraní konkrétnej tabuľky.

Syntax

>> INSERT INTO TABLENAME (stĺpec1, stĺpec) VALUES ('hodnota1', 'hodnota2');

Tu sú stĺpce atribúty tabuľky. Na zadávanie hodnôt sa používa kľúčové slovo VALUE. „Hodnota“ sú údaje tabuliek, ktoré sa majú zadať.

Vkladanie funkcií riadkov do prostredia PostgreSQL (psql)

Po úspešnej inštalácii postgresql zadáme názov databázy, číslo portu a heslo. Bude zahájený program Psql. Potom vykonáme príslušné dotazy.

Príklad 1: Použitie INSERT na pridanie nových záznamov do tabuliek
Podľa syntaxe vytvoríme nasledujúci dotaz. Ak chcete vložiť riadok do tabuľky, vytvoríme tabuľku s názvom „zákazník“. Príslušná tabuľka obsahuje 3 stĺpce. Je potrebné uviesť typ údajov konkrétnych stĺpcov, aby sa do tohto stĺpca zadali údaje a zabránilo sa tak nadbytočnosti. Dotaz na vytvorenie tabuľky je:

>> vytvoriť zákazníka tabuľky (id int, meno varchar (40), krajina varchar (40));

Po vytvorení tabuľky teraz zadáme údaje ručným vkladaním riadkov do samostatných dotazov. Najskôr spomenieme názov stĺpca, aby sme zachovali presnosť údajov v konkrétnych stĺpcoch týkajúcich sa atribútov. Potom budú zadané hodnoty. Hodnoty sú kódované jednoduchými čiarkami, pretože sa majú vkladať bez akýchkoľvek zmien.

>> vložte do hodnoty zákazníka (id, meno, krajina) ('1', 'Alia', 'Pakistan');

Po každom úspešnom vložení bude výstup „0 1“, čo znamená, že je vložený naraz 1 riadok. Ako už bolo spomenuté, do dotazu sme vložili údaje štyrikrát. Na zobrazenie výsledkov použijeme nasledujúci dotaz:

>> vyberte * od zákazníka;

Príklad 2: Použitie príkazu INSERT na pridanie viacerých riadkov do jedného dotazu
Rovnaký prístup sa používa pri vkladaní údajov, ale pri mnohých nezavádzaní príkazov vloženia. Údaje zadáme naraz pomocou určitého dotazu; všetky hodnoty jedného riadku sú oddelené znakom „Použitím nasledujúceho dotazu dosiahneme požadovaný výstup

Príklad 3: VLOŽTE viac riadkov do jednej tabuľky na základe čísel v inej tabuľke
Tento príklad sa týka vkladania údajov z jednej tabuľky do druhej. Zvážte dve tabuľky „a“ ​​a „b“. Tabuľka „a“ má dva atribúty, t.e., meno a trieda. Aplikáciou dotazu CREATE predstavíme tabuľku. Po vytvorení tabuľky budú údaje zadané pomocou vkladacieho dotazu.

>> vytvoriť tabuľku a (názov varchar (30), trieda varchar (40));
>> Vložte do hodnôt ('amna', 1), ('bisma', '2'), ('javed', '3'), ('maha', '4');

Štyri hodnoty sa vložia do tabuľky pomocou teórie prekročenia.  Môžeme to skontrolovať pomocou vybraných príkazov.

Podobne vytvoríme tabuľku „b“ s atribútmi všetkých mien a predmetov. Rovnaké 2 dotazy sa použijú na vloženie a načítanie záznamu z príslušnej tabuľky.

>> vytvoriť tabuľku b (všetky mená varchar (30), predmet varchar (70));

Načítajte záznam podľa teórie výberu.

>> vyberte * z b;

Na vloženie hodnôt tabuľky b v tabuľke použijeme nasledujúci dotaz. Tento dotaz bude fungovať tak, že všetky názvy v tabuľke b bude vložený do tabuľky a so spočítaním čísel, ktoré ukazujú počet výskytov konkrétneho čísla v príslušnom stĺpci tabuľky b. „B.allnames ”predstavuje funkciu objektu na určenie tabuľky. Počet (nar.allnames) funkcia funguje na počítanie celkového výskytu. Pretože sa každé meno vyskytne naraz, výsledný stĺpec bude mať 1 číslo.

>> Vložte do a (meno, trieda) vyberte b.allnames, count (nar.všetky mená) zo skupiny b podľa skupiny b.všetky mená;

Príklad 4: VLOŽTE údaje do riadkov, ak neexistujú
Tento dotaz sa používa na zadanie riadkov, ak nie je prítomný. Najskôr zadaný dotaz skontroluje, či je riadok už prítomný alebo nie. Ak už existuje, údaje sa nepridajú. A ak údaje nie sú k dispozícii v riadku, nové vloženie sa zachová. Tu je tmp dočasná premenná používaná na určitý čas na ukladanie údajov.

>> vložte do b (všetky mená, predmet) vyberte * z (vyberte 'Kinza' ako všetky mená, 'islamiat' ako predmet) ako tmp, kde neexistuje (vyberte všetky mená z b, kde allnames = 'sundus' limit 1);

Príklad 5: PostgreSQL Upsert pomocou príkazu INSERT
Táto funkcia má dve varianty:

Spočiatku vytvoríme tabuľku s niekoľkými vzorovými údajmi.

>> CREATE TABLE tbl2 (ID INT PRIMARY KEY, Name CHARACTER VARYING);

Po vytvorení tabuľky vložíme údaje do tbl2 pomocou dotazu:

>> INSERT INTO tbl2 VALUES (1, 'uzma'), (2, 'abdul'), (3, 'Hamna'), (4, 'fatima'), (5, 'shiza'), (6, ' javeria ');

Ak dôjde ku konfliktu, aktualizujte:

>> VLOŽTE DO Tbl2 HODNOTY (8, 'Rida') NA KONFLIKTE (ID) AKTUALIZUJTE SADU Názov = Vylúčené.Názov;

Najskôr zadáme údaje pomocou konfliktného dotazu id 8 a mena Rida. Rovnaký dopyt sa použije po rovnakom id; názov sa zmení. Teraz si všimnete, ako sa zmenia mená na rovnakom id v tabuľke.

>> VLOŽTE DO Tbl2 HODNOTY (8, 'Mahi') NA KONFLIKTE (ID) AKTUALIZUJTE SADU Názov = Vylúčené.Názov;

Zistili sme, že pri ID „8“ došlo ku konfliktu, takže uvedený riadok sa aktualizuje.

Ak dôjde ku konfliktu, nič nerobte

>> VLOŽTE DO Tbl2 HODNOTY (9, 'Hira') NA KONFLIKTE (ID) NIČ;

Pomocou tohto dotazu sa vloží nový riadok. Potom použijeme rovnaký dotaz na zistenie konfliktu, ku ktorému došlo.

>> VLOŽTE DO Tbl2 HODNOTY (9, 'Hira') NA KONFLIKTE (ID) NIČ;

Podľa vyššie uvedeného obrázku uvidíte, že po vykonaní dotazu „INSERT 0 0“ ukazuje, že nie sú zadané žiadne údaje.

Záver

Prezreli sme si koncept porozumenia vkladania riadkov do tabuliek, kde údaje buď nie sú, alebo sa vkladanie nedokončí, ak sa nájde nejaký záznam, aby sme znížili redundanciu v databázových vzťahoch.

Hry Užitočné nástroje pre hráčov systému Linux
Užitočné nástroje pre hráčov systému Linux
Ak radi hráte hry v systéme Linux, je pravdepodobné, že ste na vylepšenie herného zážitku použili aplikácie a pomôcky ako Wine, Lutris a OBS Studio. O...
Hry HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
Mnoho vývojárov a vydavateľov hier prichádza s remastrom starých hier v rozlíšení HD, aby predĺžili životnosť franšízy. Prosím fanúšikov, ktorí požadu...
Hry Ako používať AutoKey na automatizáciu hier pre Linux
Ako používať AutoKey na automatizáciu hier pre Linux
AutoKey je obslužný program na automatizáciu stolných počítačov pre systémy Linux a X11, programovaný v programoch Python 3, GTK a Qt. Pomocou jeho fu...