Vincolo di controllo SQLite

Vincolo di controllo SQLite
I vincoli sono restrizioni applicate alle tabelle del database per fornire sicurezza e ridondanza ai dati della tabella ed evitare l'accesso non autorizzato. Molti vincoli sono disponibili nel database SQL, i.e., Chiave primaria, chiave univoca, chiave estera, controllo composito, dove clausole e molte altre. Uno di questi vincoli è il vincolo di controllo SQLite specificato nell'istruzione Crea tabella al momento della creazione della tabella. Pertanto, ne discuteremo il suo uso in alcuni degli esempi di tabelle SQLite.Inizia questo articolo aprendo la shell sul tuo Ubuntu 20.04 schermo desktop. Prova il collegamento "ctrl+alt+t" per farlo. Avvia il terminale e aggiorna prima il tuo sistema. Per l'aggiornamento, prova il comando APT Update, seguito dall'utilizzo di una password per l'utente dell'amministratore attualmente registrato. In pochi secondi, il sistema viene aggiornato.

Dopo l'aggiornamento del sistema, aggiorna anchelo. Prova le stesse istruzioni con la parola chiave "aggiorna" anziché la parola chiave "aggiornamento". Questo processo è completato in pochi secondi poiché tutti i pacchetti sono già stati aggiornati e aggiornati.

È ora di eseguire il database SQLite, i.e., C-Library di SQL, che è già stato installato sulla shell usando la parola chiave "sqlite3". Avvia e avvia la sua shell usando il seguente comando:

Elenchiamo tutte le tabelle di un database SQLite presso la nostra console SQLite. Dopo aver usato il ".ISTRUZIONI DELLA TABLE ", abbiamo scoperto che non ci sono tabelle nel database. Pertanto, dobbiamo crearne uno.

Crea una nuova tabella "dati" nel database utilizzando l'istruzione Crea tabella. Abbiamo creato tre colonne all'interno di questo ID, nome ed età della tabella. È necessario applicare il vincolo di controllo su almeno una delle sue colonne. Pertanto, abbiamo aggiunto il vincolo di controllo. Questo controllo contiene la condizione che il valore di una colonna "età" deve essere maggiore di 18. IL ".L'istruzione delle tabelle "mostra che la tabella è stata creata correttamente.

Crea dati tabella (ID Int Key Primary, Nome Testo non Null, Età Int Check (età> 18));

La nostra tabella di dati è vuota poiché non avevamo ancora inserito alcun record. Quindi, abbiamo inserito alcuni record all'interno della tabella per presentare l'uso del vincolo di controllo applicato alla colonna di età. Abbiamo usato l'inserto nell'istruzione per inserire tre record univoci all'interno delle colonne ID, nome e età di una tabella di dati. Tutti i record sono stati aggiunti correttamente senza alcun errore. Abbiamo aggiunto i valori superiori a 18 all'interno della colonna di età e fornito la chiave primaria univoca, come un ID univoco, per ogni record. La query selezionata viene eseguita per recuperare tutti i record dalla tabella dei dati, i.e., Un totale di tre record.

Inserisci i valori di dati (id, nome, età) (1, "Harry", 22);
Inserisci i valori di dati (id, nome, età) (2, "Bryan", 25);
Inserisci i valori di dati (id, nome, età) (3, "julia", 44);
Seleziona * da dati;

Proviamo a inserire un altro record all'interno dell'ID, del nome e della colonna di età di una tabella di dati utilizzando l'inserimento nell'istruzione.

Abbiamo inserito un singolo record univoco nella tabella "Dati" e ottenuto l'errore "Controllo vincolo non riuscito: dati". Abbiamo usato il valore 17 per l'età della colonna, che è il vincolo di controllo che abbiamo applicato l'età> 18.

Inserisci i valori di dati (id, nome, età) (4, "Mario", 17);

Diamo un'occhiata a come funziona un vincolo di controllo e reagisce ai valori negativi mentre viene inserito nella colonna specifica.

Abbiamo provato l'inserto in istruzione per inserire il 4th Registra nella tabella "dati" e ricevuto l'errore "Verifica vincolo non riuscito: dati". Il motivo alla base di questo errore è l'uso del valore intero negativo "-22" per l'età della colonna di una tabella che è di nuovo il vincolo di controllo applicato a questa colonna, i.e., Controlla "età> 18".

Inserisci i valori di dati (id, nome, età) (5, "Mario", -22);

Diamo un'occhiata a un altro esempio per applicare il vincolo di controllo sulla colonna specifica.

Abbiamo creato una nuova tabella, "persona", con due colonne, "id" e "nome". Il vincolo di controllo viene applicato alla colonna "nome" di questa tabella al momento della creazione di tabella. Il vincolo mostra che la lunghezza di una colonna "nome" non deve superare otto caratteri, i.e., lunghezza (nome) <= 8. After that, we inserted three unique records within the newly created table “Person” with the help of an INSERT INTO instruction. The SELECT instruction displays all three records on our SQLite query screen.

Crea una persona (ID ID INT PRIMARY CHIAVE, Nome Testo Controllo (Lunghezza (nome) <= 8));
Inserisci i valori di persona (id, nome) (1, "William");
Inserisci in persona (id, nome) valori (2, "Peter K");
INSERIRE IN PERSONA (ID, NAME) VALORI (3, "Leonardo");
Seleziona * dalla persona;

Sull'inserimento del 4th Registrare con l'inserto in istruzione, abbiamo aggiunto il valore contenente più di otto caratteri per la colonna "nome" di questa tabella e ottenuto l'errore "Controlla il vincolo non riuscito.

Inserisci i valori di persona (id, nome) (4, "Leonardo decaprio");

Ecco un altro metodo per aggiungere un vincolo di controllo sulla colonna specifica.

È necessario specificare una colonna come unica nel suo tipo di dati. Abbiamo creato un nuovo test della tabella con l'istruzione Crea tabella con due colonne, ID e età del tipo intero. La colonna di età è specificata come unica. Dopo questo, abbiamo provato l'inserto in comando per inserire i tre record nella tabella di test e abbiamo ottenuto un risultato positivo secondo l'istruzione selezionata.

Crea test della tabella (ID Int Key Primary, Età non NULL UNICO));
Inserisci nei valori di test (ID, età) (1, 33);
Inserisci nei valori Test (ID, Age) (2, 46);
Inserisci nei valori di test (ID, età) (3, 26);
Seleziona * dal test;

Per applicare il vincolo di controllo sulla colonna di età contenente il vincolo univoco, provare l'istruzione ALTER Tabella seguita dalla clausola Modifica contenente il vincolo di controllo.

Alter tabella test Modifica età int non controllo null (età < 55);

Dopo aver inserito il valore maggiore, abbiamo ottenuto di nuovo l'errore di vincolo di controllo non riuscito.

Inserisci nei valori di test (ID, età) (4, 56);

Conclusione

Questo articolo contiene una conoscenza immensa sul vincolo di controllo di SQLite. Abbiamo discusso del suo uso nelle query durante la creazione di una tabella e come reagisce a valori sbagliati. Speriamo che i metodi che abbiamo applicato possano facilmente sradicare tutta la confusione.