Sqlite non vincolo null

Sqlite non vincolo null

Si dice che i vincoli siano limitazioni o restrizioni applicate a colonne specifiche di una tabella. A volte, si riferisce ai privilegi extra assegnati alle colonne particolari. Uno di questi vincoli non sono i vincoli nulli nel database SQL. Qualunque colonna sia stata specificata con il vincolo non null, quella colonna non può essere lasciata senza un valore. Pertanto, abbiamo deciso di coprire l'uso del vincolo non nullo all'interno del database SQLite durante l'implementazione di questo articolo su Ubuntu 20.04. Prima di andare all'illustrazione dell'utilizzo del vincolo non null nel database SQLite, dobbiamo aprire il terminale Ubuntu tramite l'istruzione CTRL+ALT+T e aggiornare il nostro sistema utilizzando l'istruzione mostrata in fase.

Assicurati di avere SQLite C-Library di SQL già installato sul tuo sistema Linux. Successivamente, è necessario lanciarlo all'interno del terminale della shell con l'uso della parola chiave "sqlite3". Il guscio statico verrà aperto all'interno del guscio di Ubuntu 20.04 per il database SQLite.

Elenchiamo tutte le tabelle che si trovano nel database SQLite. Quindi, proveremo il ".tabelle "istruzioni per farlo. Il database SQLite3 non contiene ancora alcun database (i.e. secondo il ".Istruzioni tabelle ".)

I vincoli possono essere applicati solo alle colonne di una tabella. Se non abbiamo alcuna tabella, allora non abbiamo colonne. Quindi nessun vincolo. Pertanto, dobbiamo creare una tabella nel database su cui possiamo applicare il vincolo non null. Pertanto, il database ci consente di utilizzare l'istruzione Crea tabella per creare una tabella con il nome "Test". Questa tabella conterrà un totale di 2 colonne "id" e "nome". L'ID colonna sarà di tipo intero e verrà utilizzato come chiave primaria per la tabella. La colonna "Nome" sarà di tipo di testo e non deve essere nulla secondo l'uso del vincolo non nullo specificato al momento della creazione di una tabella. Ora abbiamo una nuova tabella "test" nel database secondo ".Istruzioni tabelle ".

L'uso delle istruzioni selezionate per recuperare i record di una tabella di test mostra che la tabella è vuota in questo momento. Quindi, dobbiamo prima aggiungere alcuni record.

>> Seleziona * dal test;

\

Useremo l'inserto di SQL nell'istruzione seguita dal nome di una tabella e dalla sua colonna per inserire i record di dati all'interno delle sue colonne. È necessario aggiungere record dopo la parola chiave "valori" seguita dalle semplici parentesi che possiedono un totale di 10 record. Nessun record è stato specificato null per la colonna "nome" per quanto presentato di seguito.

INSERIRE IN TEST (ID, NAME) VALORI (1, "George"), (2, "Bella"), (3, "Paul"), (4, "Johny"),
(5, "ketty"), (6, "Angelina"), (7, "nina"), (8, "dilraba"), (9, "tom"), (10, "tyalor");
INSERT IN TEST (ID, NAME) VALORI (11, ""), (12, "");
INSERIRE IN TEST (ID, NAME) VALORI (11), (12);
INSERT IN TEST (ID, NAME) VALORI (13, null), (14, null);

Dopo aver inserito i record nella tabella di test, abbiamo provato l'istruzione Seleziona per visualizzare tutti i dati sulla nostra shell SQLite. Ha visualizzato 10 record per la colonna ID e nome.

>> Seleziona * dal test;

Vediamo come reagisce il vincolo non null agli spazi e alla parola chiave null mentre si inserisce i dati nella colonna "nome" della tabella di test. Quindi, abbiamo usato il valore vuoto "" il luogo della colonna "nome" all'interno della parte dei valori dell'inserto nell'istruzione. Il record è stato aggiunto correttamente al test della tabella. Dopo aver utilizzato l'istruzione Seleziona sulla shell, abbiamo scoperto che non ha visualizzato nulla per la colonna "Nome" ai record 11 e 12 e assumere spazio come valore non null.

Se si prova l'inserimento nell'istruzione con l'uso di nomi di colonne che contengono un vincolo non nullo e non aggiunge il valore per una colonna particolare, quindi lancerà un errore: "1 valori per 2 colonne" come presentato di seguito. Per rimuovere questo errore, è necessario inserire un valore per la colonna "Nome" e non lasciarlo vuoto.

Mettiamo la parola chiave null all'interno della parte dei valori dell'inserto in istruzione per aggiungere i record null per la colonna "nome" che contiene il vincolo non null. L'esecuzione di questa istruzione con la parola chiave null sta lanciando un errore “Non vincolo null non riuscito: test.Nome". Ciò significa che non possiamo mettere null come valore alla colonna "nome" a causa della sua restrizione di vincoli non nulli.

Diamo un'occhiata a un altro esempio. Quindi, abbiamo creato un nuovo attore della tabella con le tre colonne ID, nome ed età tramite l'istruzione Crea Tabella. Nessuna delle colonne contiene un vincolo non nullo su di esso.

>> Crea attore tabella (ID Int Key Primary, Nome Testo, Age Int);

In questo momento l'attore della tabella è vuoto secondo le istruzioni selezionate "*".

>> seleziona * dall'attore;

Dobbiamo mettere prima alcuni record nella tabella "attore" con l'inserto nell'istruzione. Quindi, abbiamo aggiunto 5 record per tutte e tre le colonne: ID, nome ed età.

>> Insert in Actor (ID, Nome, Age) Valori (1, "Julia", 49), (2, "Angelina", 49),
(3, "Leonardo", 50), (4, "Tom", 55);

Abbiamo provato le istruzioni selezionate per recuperare tutti i record appena aggiunti di un tavolo "attore". Un totale di 5 record sono stati visualizzati sul nostro schermo senza valori nulli.

>> seleziona * dall'attore;

Aggiungiamo un nuovo record all'interno della tabella dell'attore che contiene un valore nullo usando l'inserto nell'istruzione. Quindi, abbiamo provato le istruzioni per tutte e 3 le colonne e abbiamo aggiunto un valore nullo per la colonna "età". Il record è stato inserito correttamente nella tabella e non ha lanciato alcun errore perché non abbiamo impostato alcun vincolo non nullo per nessuna delle colonne di un "attore" della tabella. L'uso delle istruzioni selezionate per l'attore della tabella ha visualizzato tutti i primi 5 record aggiunti e il 6 ° record con un valore nullo nella sua colonna "età".

>> INSERT IN ACTOR (ID, Nome, Age) Valori (1, "Ema Watson", Null)
> Seleziona * dall'attore;

Conclusione:

Quindi, si trattava dell'uso di non vincoli nulli per colonne specifiche di tabelle SQLite. Abbiamo dimostrato come il database reagisce a non mettere i valori all'interno delle colonne con vincoli non nulli e come possiamo usare il valore null con i valori della colonna.