Quali sono i vincoli SQL e i suoi diversi tipi?



Questo articolo è una guida completa su come utilizzare i diversi tipi di vincoli SQL con vari comandi SQL, ed è stato elaborato lo stesso con esempi.

Poiché sono presenti grandi quantità di dati nel file , è molto importante per tutti noi aumentare l'accuratezza e l'affidabilità dei dati presenti nel database. Bene, i vincoli SQL vengono utilizzati per mantenere lo stesso. Esistono diversi tipi di vincoli che potrebbero essere utilizzati. In questo articolo, discuterò questi vincoli con esempi.

In questo articolo verranno trattati i seguenti argomenti:





  1. Cosa sono i vincoli?
  2. Vincoli disponibili in SQL:

Cosa sono i vincoli SQL?

I vincoli SQL vengono utilizzati per specificare le regole per i dati in una tabella. Questi vengono utilizzati per limitare il tipo di dati che devono essere memorizzati nel database e mirano ad aumentare l'accuratezza e l'affidabilità dei dati archiviati nel database.

Quindi, i vincoli assicurano che non vi sia violazione in termini di una transazione dei dati, tuttavia è stata rilevata alcuna violazione e l'azione viene terminata.



Esistono due tipi di vincoli che possono essere applicati:

astrazione in c ++
  1. Vincoli a livello di colonna - Questi vincoli vengono applicati a una singola colonna
  2. Vincoli a livello di tabella - Questi vincoli sono l'applicazione alla tabella completa

Andando avanti in questo articolo, cerchiamo di comprendere i diversi tipi di vincoli. Inoltre, prenderò in considerazione la seguente tabella per aiutarti a capire meglio.

Sono disponibili diversi vincoli SQL:

Vincolo NOT NULL

Il vincolo NOT NULL assicura che una colonna non possa avere un valore NULL. Puoi anche usare il vincolo NOT NULL mentre creare il tavolo database o durante la modifica.



Esempio

Vincolo NOT NULL su CREATE TABLE

Scrivi una query per creare la tabella Studenti sopra, dove StudentID e StudentName non possono essere NULL.

CREATE TABLE Studenti (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255))

Vincolo NOT NULL su ALTER TABLE

Scrivere una query per modificare la tabella Studenti sopra, in cui è necessario aggiungere una nuova colonna di DOB e non dovrebbe avere alcun valore NULL.

ALTER TABLE Studenti AGGIUNGI COLONNA Anno di nascita NON NULLA

Andando avanti in questo articolo sui vincoli SQL, vediamo di capire come utilizzare il vincolo UNIQUE.

Vincolo UNICO

Il vincolo UNIQUE viene utilizzato per assicurarsi che tutti i valori in una colonna siano univoci. È possibile utilizzare il vincolo UNIQUE su più colonne o su una singola colonna con. Oltre a questo, puoi andare avanti e utilizzare il vincolo UNIQUE per modificare le tabelle esistenti.

Nota:

  1. Durante la creazione delle tabelle, un vincolo PRIMARY KEY ha automaticamente un vincolo UNIQUE, per garantire l'unicità di una colonna.
  2. Una tabella può avere molti vincoli UNIQUE ma può avere un unico vincolo di chiave primaria.

Esempio:

Vincolo UNICO su CREATE TABLE

Scrivi una query per creare una tabella Studenti, con le colonne StudentID, StudentName, Age e City. Qui, lo StudentID deve essere univoco per ogni record.

CREATE TABLE Studenti (StudentID int NOT NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255))

Assegna un nome a un vincolo UNIQUE su più colonne

Per denominare un vincolo univoco e definirlo per più colonne è possibile fare riferimento al seguente esempio:

Scrivi una query per creare una tabella Studenti, con le colonne StudentID, StudentName, Age e City. Qui, StudentID e StudentName devono essere univoci per ogni record.

CREATE TABLE Studenti (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CONSTRAINT Stu_Example UNIQUE (StudentID, StudentName))

Qui, Stu_Example è il nome dato al vincolo univoco applicato a StudentID e StudentName.

Vincolo UNICO su ALTER TABLE

Scrivere una query per modificare la tabella Studenti, in cui è necessario aggiungere un vincolo UNIQUE alla colonna StudentID.

ALTER TABLE Studenti AGGIUNGI UNICO (StudentID)

Allo stesso modo, se si desidera utilizzare il vincolo UNIQUE su più colonne e anche nominarlo, è possibile scrivere una query come segue:

ALTER TABLE Studenti AGGIUNGI CONSTRAINT Stu_Example UNIQUE (StudentID, StudentName)

Elimina un vincolo UNICO

Per eliminare il vincolo specificato su una colonna, puoi utilizzare la convenzione di denominazione che potresti aver menzionato durante l'aggiunta del vincolo.

Ad esempio, se dobbiamo scrivere una query per eliminare il vincolo UNIQUE che abbiamo creato sopra, puoi scrivere la query come segue:

ALTER TABLE Studenti DROP CONSTRAINT Stu_Example

Successivamente in questo articolo sui vincoli SQL, vediamo di capire come utilizzare il vincolo CHECK.

CONTROLLA vincolo

Il vincolo CHECK garantisce che tutti i valori in una colonna soddisfino una condizione specifica.

Esempio:

CONTROLLA il vincolo su CREATE TABLE

Scrivi una query per creare una tabella Studenti, con le colonne StudentID, StudentName, Age e City. Qui, la città deve essere MUmbai.

CREATE TABLE Studenti (StudentID int NOT NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CHECK (City == ’Mumbai’))

CHECK vincolo su più colonne

Per utilizzare il vincolo check su più colonne puoi scrivere una query come di seguito:

Scrivi una query per creare una tabella Studenti, con le colonne StudentID, StudentName, Age e City. Qui, la città deve essere Mumbai e l'età degli studenti deve essere> 19 anni.

CREATE TABLE Studenti (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CHECK (City == & rsquoMumbai & rsquo AND Age> 19))

Allo stesso modo, è possibile utilizzare il vincolo CHECK anche con il comando ALTER TABLE. Fare riferimento di seguito.

CONTROLLA Vincolo su ALTER TABLE

Scrivere una query per modificare la tabella Studenti, in cui è necessario aggiungere un vincolo CHECK alla colonna Città. Qui la città deve essere Mumbai.

ALTER TABLE Studenti AGGIUNGI ASSEGNO (Città == 'Mumbai')

Allo stesso modo, se si desidera utilizzare il vincolo CHECK assegnandogli un nome, è possibile scrivere una query come segue:

ALTER TABLE Studenti AGGIUNGI VINCOLI StuCheckExample CHECK (Città == 'Mumbai')

Elimina un vincolo CHECK

Per eliminare il vincolo specificato su una colonna, puoi utilizzare la convenzione di denominazione che potresti aver menzionato durante l'aggiunta del vincolo.

Ad esempio, se dobbiamo scrivere una query per eliminare il vincolo CHECK che abbiamo creato sopra, puoi scrivere la query come segue:

ALTER TABLE Studenti DROP CONSTRAINT StuCheckExample

Andando avanti in questo articolo sui vincoli SQL, vediamo di capire come utilizzare il vincolo DEFAULT.

Vincolo DEFAULT

Il vincolo DEFAULT viene utilizzato per menzionare un insieme di valori predefiniti per una colonna quando non viene specificato alcun valore. Simile a quello degli altri vincoli, possiamo usare questo vincolo sul comando CREATE e ALTER table.

Esempio

Scrivi una query per creare una tabella Studenti, con le colonne StudentID, StudentName, Age e City. Inoltre, quando non è presente alcun valore nella colonna Città, deve essere inclusa automaticamente Delhi.

CREATE TABLE Studenti (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) DEFAULT 'Delhi')

Vincolo DEFAULT su ALTER TABLE

Per utilizzare il vincolo DEFAULT con l'estensione Comando ALTER TABLE , puoi scrivere una query come segue:

ALTER TABLE Studenti AGGIUNGI VINCOLI StuDefauEsempio PREDEFINITO 'Mumbai' PER Città

Elimina un vincolo DEFAULT

Per eliminare il vincolo DEFAULT è possibile utilizzare il comando ALTER TABLE come segue:

ALTER TABLE Studenti ALTER COLUMN City DROP DEFAULT

Successivamente in questo articolo sui vincoli SQL, vediamo di capire come utilizzare il vincolo INDEX.

Vincolo INDICE

L'INDICEvincolo viene utilizzato per creare indici nella tabella, con l'aiuto di questi indici è possibile creare e recuperare i dati dal database molto rapidamente.

Sintassi

--Crea un indice in cui sono consentiti valori duplicati CREATE INDEX IndexName ON TableName (ColumnName1, ColumnName2, ... ColumnName (N)) --Crea un indice in cui non sono consentiti valori duplicati CREATE UNIQUE INDEX IndexName ON TableName (ColumnName1, ColumnName2, ... ColumnName (N))

Esempio

Scrivi una query per creare un indice con il nome Stu_index nella tabella Studenti che memorizza StudentName.

CREA INDICE Stu_index SU Studenti (StudentName)

Allo stesso modo, per eliminare un indice dalla tabella, è necessario utilizzare il comando DROP con il nome dell'indice.

java class loader domande dell'intervista
DROP INDEX Students.Stu_index

A parte i vincoli di cui sopra, il CHIAVE PRIMARIA e anche la CHIAVE ESTERA sono considerati vincoli. Il vincolo PRIMARY KEY viene utilizzato per definire i vincoli su come una colonna specifica identifica in modo univoco ogni tupla. Il CHIAVE ESTERA vincolo viene utilizzato per mettere in relazione due tabelle in base a una relazione.

Con questo, arriviamo alla fine di questo articolo. Spero tu abbia capito come utilizzare i vari vincoli presenti nel database. Se desideri saperne di più su MySQL e conosci questo database relazionale open source, quindi dai un'occhiata al nostro che viene fornito con formazione dal vivo con istruttore e esperienza di progetto nella vita reale. Questa formazione ti aiuterà a comprendere MySQL in profondità e ti aiuterà a ottenere la padronanza dell'argomento.

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questo articolo sui vincoli SQL e ti ricontatterò.