PostgreSQL

Infoga rad om värden inte redan finns i Postgresl

Infoga rad om värden inte redan finns i Postgresl

Att känna till och manipulera databashanteringssystem har gjort oss bekanta med ändringar av databaser. Vilket vanligtvis innebär att skapa, infoga, uppdatera och ta bort funktioner som tillämpas på specifika tabeller. I den aktuella artikeln kommer vi att se hur data hanteras med insättningsmetoden. Vi måste skapa en tabell där vi vill infoga. Infoga uttalande används för att lägga till nya data i rader med tabeller. PostgreSQL infogar uttalande täcker några regler för en lyckad körning av en fråga. Först måste vi nämna tabellnamnet följt av kolumnnamn (attribut) där vi vill infoga rader. För det andra måste vi ange värdena, separerade med ett komma efter VALUE-satsen. Slutligen måste varje värde vara i samma ordning som sekvensen för attributlistor när du skapar en viss tabell.

Syntax

>> INSÄTTA I TABELLNAMN (kolumn1, kolumn) VÄRDEN ('värde1', 'värde2');

Här är en kolumn attributen för tabellen. Nyckelord VALUE används för att ange värden. 'Värde' är data för tabeller som ska anges.

Infoga radfunktioner i PostgreSQL-skal (psql)

Efter framgångsrik installation av postgresql kommer vi att ange databasnamn, portnummer och lösenord. Psql kommer att initieras. Vi utför sedan frågor.

Exempel 1: Använd INSERT för att lägga till nya poster i tabeller
Efter syntaxen skapar vi följande fråga. För att infoga en rad i tabellen skapar vi en tabell som heter "kund". Respektivtabell innehåller 3 kolumner. Datatyp för särskilda kolumner bör nämnas för att mata in data i den kolumnen och för att undvika redundans. Frågan för att skapa en tabell är:

>> skapa bordskund (id int, namn varchar (40), land varchar (40));

Efter att ha skapat tabellen kommer vi nu att ange data genom att infoga rader manuellt i separata frågor. För det första nämner vi kolumnnamnet för att bibehålla noggrannheten i data i vissa kolumner angående attribut. Och sedan kommer värden att anges. Värden kodas av enstaka komor, eftersom de ska infogas utan ändringar.

>> infoga i kundvärden (id, namn, land) ('1', 'Alia', 'Pakistan');

Efter varje lyckad infogning kommer utmatningen att vara "0 1", vilket innebär att en rad infogas åt gången. I frågan som nämnts tidigare har vi infogat data fyra gånger. För att se resultaten kommer vi att använda följande fråga:

>> välj * från kund;

Exempel 2: Använd INSERT-sats för att lägga till flera rader i en fråga
Samma tillvägagångssätt används för att infoga data men inte införa infoga uttalanden många gånger. Vi kommer att ange data på en gång med hjälp av en viss fråga; alla värden på en rad är åtskilda av ”Genom att använda följande fråga uppnår vi önskad utdata

Exempel 3: INSÄTT flera rader i en tabell baserat på siffror i en annan tabell
Detta exempel avser infogning av data från en tabell till en annan. Tänk på två tabeller, “a” och “b”. Tabell “a” har två attribut, dvs.e., namn och klass. Genom att tillämpa en CREATE-fråga introducerar vi en tabell. Efter skapandet av tabellen kommer data att matas in med hjälp av en infoga fråga.

>> skapa tabell a (namn varchar (30), klass varchar (40));
>> Infoga i värden ('amna', 1), ('bisma', '2'), ('javed', '3'), ('maha', '4');

Fyra värden infogas i tabellen med hjälp av överskridande teori.  Vi kan kontrollera med hjälp av utvalda uttalanden.

På samma sätt skapar vi tabell "b" med attribut för alla namn och ämnen. Samma två frågor kommer att tillämpas för att infoga och hämta posten från motsvarande tabell.

>> skapa tabell b (allnames varchar (30), subject varchar (70));

Hämta posten genom att välja teori.

>> välj * från b;

För att infoga värden i tabellen b i tabellen använder vi följande fråga. Den här frågan fungerar på ett sådant sätt att alla namn i tabellen b kommer att införas i tabellen a med räkningen av siffror som visar antalet förekomster av ett visst nummer i respektive kolumn i tabellen b. “B.allnames ”representerar objektfunktionen för att specificera tabellen. Räkna (b.allnames) fungerar för att räkna den totala förekomsten. Eftersom varje namn förekommer på en gång så kommer den resulterande kolumnen att ha ett nummer.

>> Infoga i a (namn, klass) välj b.allnames, count (b.allnames) från b grupp efter b.allnamn;

Exempel 4: INSÄTT data i rader om det inte finns
Den här frågan används för att ange rader om den inte finns. För det första kontrollerar den angivna frågan om raden redan finns eller inte. Om den redan finns läggs inte till data. Och om data inte finns i rad kommer den nya infogningen att hållas. Här tmp är en tillfällig variabel som används för att lagra data under en tid.

>> infoga i b (allnamn, ämne) välj * från (välj 'Kinza' som allnamn, 'islamiat' som ämne) som tmp där det inte finns (välj allnamn från b där allnamn = 'sundus' gräns 1);

Exempel 5: PostgreSQL Upsert med INSERT-uttalande
Denna funktion har två varianter:

Inledningsvis kommer vi att bilda en tabell med några exempeldata.

>> SKAPA TABELL tbl2 (ID INT PRIMÄR NYCKEL, Namn KARAKTERVARIERING);

Efter att ha skapat tabell infogar vi data i tbl2 med hjälp av frågan:

>> INSÄTTA I tbl2 VÄRDEN (1, 'uzma'), (2, 'abdul'), (3, 'Hamna'), (4, 'fatima'), (5, 'shiza'), (6, ' javeria ');

Om en konflikt uppstår, uppdatera:

>> INSÄTTA I tbl2 VÄRDEN (8, 'Rida') PÅ KONFLIK (ID) UPPDATERA INSTÄLLNAMN Namn = exkluderat.Namn;

Först kommer vi att ange data med hjälp av konfliktfrågan om id 8 och namnet Rida. Samma fråga kommer att användas efter samma id; namnet kommer att ändras. Nu kommer du att märka hur namn kommer att ändras på samma ID i tabellen.

>> INSÄTTA I tbl2 VÄRDEN (8, 'Mahi') PÅ KONFLIK (ID) UPPDATERA INSTÄLLNAMN Namn = exkluderat.Namn;

Vi har upptäckt att det fanns en konflikt på id "8", så den angivna raden uppdateras.

Om det uppstår en konflikt, gör ingenting

>> INSÄTTA I tbl2 VÄRDEN (9, 'Hira') PÅ KONFLIK (ID) GÖR INGENTING;

Med den här frågan infogas en ny rad. Efter det kommer vi att använda om samma fråga för att se konflikten som inträffade.

>> INSÄTTA I tbl2 VÄRDEN (9, 'Hira') PÅ KONFLIK (ID) GÖR INGENTING;

Enligt bilden ovan ser du att efter körningen av frågan "INSERT 0 0" visar att ingen data är angiven.

Slutsats

Vi har fått en glimt av förståelseskonceptet att infoga rader i tabeller där data antingen inte finns eller om infogningen inte är klar, om någon post hittas, för att minska redundans i databasrelationer.

Hur man laddar ner och spelar Sid Meier's Civilization VI på Linux
Introduktion till spelet Civilization 6 är ett modernt intag av det klassiska konceptet som introducerades i serien Age of Empires-spel. Idén var gans...
Hur man installerar och spelar Doom på Linux
Introduktion till Doom Doom-serien har sitt ursprung på 90-talet efter att den ursprungliga Doom släpptes. Det blev en omedelbar hit och från den tide...
Vulkan för Linux-användare
Med varje ny generation grafikkort ser vi spelutvecklare driva gränserna för grafisk trohet och komma ett steg närmare fotorealism. Men trots all kred...