Inserisci riga se i valori non esistono già in Postgresl

Inserisci riga se i valori non esistono già in Postgresl

Conoscere e manipolare i sistemi di gestione del database ci hanno reso familiari con le modifiche sui database. Che in genere prevede la creazione, l'inserimento, l'aggiornamento ed elimina le funzioni applicate su tabelle specifiche. Nell'articolo attuale, vedremo come i dati sono gestiti con il metodo di inserimento. Dobbiamo creare una tabella in cui vogliamo inserimento. L'istruzione Insert viene utilizzata per l'aggiunta di nuovi dati in righe di tabelle. L'istruzione PostgreSQL Inserts copre alcune regole per l'esecuzione riuscita di una query. In primo luogo dobbiamo menzionare il nome della tabella seguito da nomi di colonne (attributi) in cui vogliamo inserire le righe. In secondo luogo, dobbiamo inserire i valori, separati da una virgola dopo la clausola del valore. Infine, ogni valore deve essere nello stesso ordine della sequenza di elenchi di attributi durante la creazione di una tabella particolare.

Sintassi

>> inserisci in tablename (column1, colonna) valori ('value1', 'value2');

Qui, una colonna è gli attributi della tabella. Il valore delle parole chiave viene utilizzato per immettere i valori. "Valore" è i dati delle tabelle da inserire.

Inserimento di funzioni di riga in PostgreSQL Shell (PSQL)

Dopo aver corretto l'installazione di PostgreSQL, inseriremo il nome del database, il numero di porta e la password. PSQL verrà avviato. Eseguiremo quindi le query rispettivamente.

Esempio 1: Utilizzo di Insert per aggiungere nuovi record alle tabelle
Seguendo la sintassi, creeremo la seguente domanda. Per inserire una riga nella tabella, creeremo una tabella denominata "cliente". La tabella rispettiva contiene 3 colonne. Il tipo di dati di colonne particolari dovrebbe essere menzionato per inserire i dati in quella colonna ed evitare la ridondanza. La query per creare una tabella è:

>> Crea Cliente Table (Id Int, Nome Varchar (40), Paese Varchar (40));

Dopo aver creato la tabella, ora inseriremo i dati inserendo le righe manualmente in query separate. In primo luogo, menzioniamo il nome della colonna per mantenere l'accuratezza dei dati in particolari colonne riguardanti gli attributi. E poi, verranno immessi i valori. I valori sono codificati da singoli comas, in quanto devono essere inseriti senza alcuna alterazione.

>> Inserisci in Cliente (ID, Nome, Paese) Valori ('1', 'Alia', 'Pakistan');

Dopo ogni inserimento riuscito, l'output sarà "0 1", il che significa che 1 riga viene inserita alla volta. Nella query come menzionato in precedenza, abbiamo inserito dati 4 volte. Per visualizzare i risultati, useremo la seguente query:

>> Seleziona * dal cliente;

Esempio 2: Utilizzo dell'istruzione Insert nell'aggiunta di più righe in una singola query
Lo stesso approccio viene utilizzato nell'inserimento di dati ma non introduce molte volte le dichiarazioni di inserimento. Immetteremo i dati immediatamente utilizzando una determinata query; Tutti i valori di una riga sono separati da "utilizzando la seguente query, otterremo l'output richiesto

Esempio 3: inserire più righe in una tabella in base ai numeri in un'altra tabella
Questo esempio si riferisce all'inserimento di dati da una tabella a un'altra. Considera due tavoli, "A" e "B". La tabella "A" ha 2 attributi, i.e., nome e classe. Applicando una query Crea, introdurremo una tabella. Dopo la creazione della tabella, i dati verranno inseriti utilizzando una query sugli inserisci.

>> Crea la tabella A (nome varchar (30), classe varchar (40));
>> inserisci in un valori ('amna', 1), ('bisma', '2'), ('javed', '3'), ('maha', '4');

Quattro valori vengono inseriti nella tabella usando la teoria che supera. Possiamo verificare utilizzando le istruzioni selezionate.

Allo stesso modo, creeremo la tabella "B", con attributi di tutti i nomi e soggetti. Le stesse 2 query verranno applicate per inserire e per recuperare il record dalla tabella corrispondente.

>> Crea la tabella B (AllNames Varchar (30), Soggetto Varchar (70));

Prendi il record di Select Theory.

>> Seleziona * da b;

Per inserire i valori della tabella B Nella tabella useremo la seguente domanda. Questa domanda funzionerà in modo tale che tutti i nomi nella tabella B sarà inserito nella tabella UN con il conteggio dei numeri che mostrano il numero di occorrenze di un numero particolare nella rispettiva colonna della tabella B. "B.AllNames ”rappresenta la funzione oggetto per specificare la tabella. Conta (b.Allnames) La funzione funziona per contare il verificarsi totale. Poiché si verifica ogni nome in una sola volta, la colonna risultante avrà 1 numero.

>> Inserisci in A (nome, classe) Seleziona B.Allnames, conta (b.Allnames) dal gruppo B di B.Allnames;

Esempio 4: inserire i dati nelle righe se non esistono
Questa query viene utilizzata per immettere le righe se non è presente. In primo luogo i controlli di query forniti se la riga è già presente o meno. Se esiste già, i dati non vengono aggiunti. E se i dati non sono presenti di fila, si terrà il nuovo inserimento. Qui TMP è una variabile temporanea utilizzata per archiviare i dati per un po 'di tempo.

>> Inserisci in B (AllNames, Soggetto) Seleziona * da (selezionare "Kinza" come Allnames, "Islamiat" come soggetto) come TMP dove non esiste (seleziona AllNames da B dove Allnames = "Sundus" limite 1);

Esempio 5: PostgreSQL UpSert usando l'istruzione Insert
Questa funzione ha due varietà:

  • Aggiornamento: se si verifica un conflitto, Se il record corrisponde ai dati esistenti nella tabella, viene aggiornato con nuovi dati.
  • Se si verifica un conflitto, non fare nulla: Se un record corrisponde ai dati esistenti nella tabella, salta il record o se viene fondato un errore, viene anche ignorato.

Inizialmente, formeremo una tabella con alcuni dati di esempio.

>> Crea tabella TBL2 (ID Int Key Primary, Nome Carattere variabile);

Dopo aver creato la tabella inseriremo i dati in TBL2 utilizzando la query:

>> inserisci nei valori TBL2 (1, "Uzma"), (2, "Abdul"), (3, "Hamna"), (4, "Fatima"), (5, "Shiza"), (6, " Javeria ');

Se si verifica un conflitto, aggiorna:

>> Inserisci nei valori TBL2 (8, 'RIDA') sul conflitto (ID) DO AGGIORNAMENTO SET Name = Exclusod.Nome;

Inizialmente, inseriremo i dati utilizzando la query di conflitto di ID 8 e il nome Rida. La stessa query verrà utilizzata seguendo la stessa ID; Il nome verrà modificato. Ora noterai come i nomi verranno modificati sullo stesso ID nella tabella.

>> Inserisci nei valori TBL2 (8, 'Mahi') sul conflitto (ID) DO AGGIORNAMENTO SET Name = Exclusod.Nome;

Abbiamo scoperto che c'è stato un conflitto su ID "8", quindi la riga specificata viene aggiornata.

Se si verifica un conflitto, non fare nulla

>> Inserisci nei valori TBL2 (9, 'Hira') sul conflitto (ID) non fare nulla;

Usando questa query, viene inserita una nuova riga. Successivamente, useremo se la stessa domanda per vedere il conflitto che si è verificato.

>> Inserisci nei valori TBL2 (9, 'Hira') sul conflitto (ID) non fare nulla;

Secondo l'immagine sopra, vedrai che dopo l'esecuzione della query "Insert 0 0" mostra che non vengono immessi dati.

Conclusione

Abbiamo intravisto il concetto di comprensione dell'inserimento di righe nelle tabelle in cui i dati non sono presenti o l'inserimento non è completato, se si trova un record, per ridurre la ridondanza nelle relazioni di database.