PostgreSQL

Come impostare la chiave primaria con incremento automatico di PostgreSQL?

Come impostare la chiave primaria con incremento automatico di PostgreSQL?
Potrebbero esserci occasioni in cui crei e gestisci tabelle in PostgreSQL quando desideri valori particolari per una colonna generata su richiesta. Ciò sarebbe particolarmente vero per le colonne "id" che fungono da chiave primaria della tabella. Fortunatamente, lo pseudo-tipo SERIAL consente di rendere conveniente una serie intera autoincrementale. Una serie è un tipo di oggetto di database in PostgreSQL che produce una serie di indici o interi. Una sequenza PostgreSQL produce una stringa di interi distinti, rendendola adatta per essere utilizzata come chiave primaria durante la generazione di una nuova tabella. Ti mostreremo cosa significa l'incremento automatico in PostgreSQL e useremo lo pseudo-tipo SERIAL in questa guida.

Sintassi:

La sintassi generale per la creazione della chiave primaria con incremento automatico è la seguente:

>> CREATE TABLE nome_tabella ( id SERIAL );

Diamo ora un'occhiata alla dichiarazione CREATE TABLE in modo più dettagliato:

Per ottenere il concetto di incremento automatico, assicurati che PostgreSQL sia montato e configurato sul tuo sistema prima di continuare con le illustrazioni in questa guida. Apri la shell della riga di comando di PostgreSQL dal desktop. Aggiungi il nome del tuo server su cui vuoi lavorare, altrimenti lascialo di default. Scrivi il nome del database che si trova nel tuo server su cui vuoi lavorare. Se non vuoi cambiarlo, lascialo come predefinito. Useremo il database "test", ecco perché l'abbiamo aggiunto. Puoi anche lavorare sulla porta predefinita 5432, ma puoi anche cambiarla. Alla fine, devi fornire il nome utente per il database che scegli. Lascialo di default se non vuoi cambiarlo. Digita la password per il nome utente selezionato e premi "Invio" dalla tastiera per iniziare a utilizzare la shell dei comandi.

Utilizzo della parola chiave SERIAL come tipo di dati:

Quando creiamo una tabella, di solito non aggiungiamo la parola chiave SERIAL nel campo della colonna primaria. Ciò significa che dobbiamo aggiungere i valori alla colonna della chiave primaria durante l'utilizzo dell'istruzione INSERT. Ma quando usiamo la parola chiave SERIAL nella nostra query durante la creazione di una tabella, non dovremmo aver bisogno di aggiungere i valori delle colonne primarie durante l'inserimento dei valori. Diamo un'occhiata.

Esempio 01:

Creare una tabella “Test” con due colonne “id” e “name”. La colonna "id" è stata definita come colonna chiave primaria poiché il suo tipo di dati è SERIAL. D'altra parte, la colonna "nome" è definita come il tipo di dati TEXT NOT NULL. Prova il comando seguente per creare una tabella e la tabella verrà creata in modo efficiente come mostrato nell'immagine qui sotto.

>> CREATE TABLE Test (id SERIAL PRIMARY KEY, nome TEXT NOT NULL);

Inseriamo alcuni valori alla colonna “nome” della tabella appena creata “TEST”. Non aggiungeremo alcun valore alla colonna "id". Puoi vedere che i valori sono stati inseriti con successo usando il comando INSERT come indicato di seguito.

>> INSERT INTO Test(name) VALUES ('Aqsa'), ('Rimsha'), ('Khan');

È il momento di controllare i record della tabella 'Test'. Prova le seguenti istruzioni SELECT nella shell dei comandi.

>> SELEZIONA * DA Prova;

Dall'output sotto, puoi notare che la colonna "id" ha automaticamente alcuni valori in essa anche se non abbiamo aggiunto alcun valore dal comando INSERT a causa del tipo di dati SERIAL che abbiamo specificato per la colonna "id". Ecco come funziona il tipo di dati SERIAL da solo.

Esempio 02:

Un altro modo per controllare il valore della colonna del tipo di dati SERIAL consiste nell'utilizzare la parola chiave RETURNING nel comando INSERT. La dichiarazione seguente crea una nuova riga nella tabella "Test" e restituisce il valore per il campo "id":

>> INSERT INTO Test(nome) VALUES ('Hassam') RETURNING id;

Controllando i record della tabella "Test" utilizzando la query SELECT, abbiamo ottenuto l'output seguente come visualizzato nell'immagine. Il quinto record è stato aggiunto in modo efficiente alla tabella.

>> SELEZIONA * DA Prova;

Esempio 03:

La versione alternativa della query di inserimento precedente utilizza la parola chiave DEFAULT. Useremo il nome della colonna "id" nel comando INSERT e nella sezione VALUES gli daremo la parola chiave DEFAULT come valore. La query seguente funzionerà allo stesso modo al momento dell'esecuzione.

>> INSERT INTO Test(id, name) VALUES (DEFAULT, 'Raza');

Controlliamo nuovamente la tabella utilizzando la query SELECT come segue:

>> SELEZIONA * DA Prova;

Puoi vedere dall'output qui sotto, il nuovo valore è stato aggiunto mentre la colonna "id" è stata incrementata per impostazione predefinita.

Esempio 04:

Il numero di sequenza del campo della colonna SERIAL può essere trovato in una tabella in PostgreSQL. Il metodo pg_get_serial_sequence() viene utilizzato per ottenere ciò. Dobbiamo usare la funzione currval() insieme al metodo pg_get_serial_sequence(). In questa query, forniremo il nome della tabella e il suo nome della colonna SERIAL nei parametri della funzione pg_get_serial_sequence(). Come puoi vedere, abbiamo specificato la tabella "Test" e la colonna "id". Questo metodo viene utilizzato nell'esempio di query seguente:

>> SELECT currval(pg_get_serial_sequence('Test', 'id'));

Vale la pena notare che la nostra funzione currval() ci aiuta a estrarre il valore più recente della sequenza, che è "5". L'immagine qui sotto è un'illustrazione di come potrebbe essere la performance.

Conclusione:

In questa guida tutorial, abbiamo dimostrato come utilizzare lo pseudo-tipo SERIAL per l'auto-incremento in PostgreSQL. Utilizzando una serie in PostgreSQL, è semplice creare un insieme di numeri auto-incrementali. Si spera che sarai in grado di applicare il campo SERIAL alle descrizioni della tabella usando le nostre illustrazioni come riferimento.

Il pulsante centrale del mouse non funziona in Windows 10
Il tasto centrale del mouse ti aiuta a scorrere lunghe pagine web e schermate con molti dati. Se si ferma, finirai per usare la tastiera per lo scorri...
Come cambiare i pulsanti sinistro e destro del mouse su PC Windows 10
È abbastanza normale che tutti i mouse dei computer siano progettati ergonomicamente per gli utenti destrimani. Ma sono disponibili dispositivi mouse ...
Emula i clic del mouse passando il mouse utilizzando il mouse senza clic in Windows 10
L'uso di un mouse o di una tastiera nella postura sbagliata di un uso eccessivo può causare molti problemi di salute, tra cui tensione, sindrome del t...