Esercitazione SQL

SQL HOME Introduzione SQL Sintassi SQL Seleziona SQL SQL Seleziona distinto SQL dove SQL e, o, no Ordina SQL per Inserisci SQL in Valori nulli SQL Aggiornamento SQL Elimina SQL SQL Seleziona in alto SQL Min e Max Conteggio SQL, media, somma Mi piace SQL Caratteri jolly SQL SQL In SQL tra Alias ​​SQL Join SQL Join interno SQL Join sinistro SQL SQL Right Join SQL Full Join SQL Self Join Unione SQL Raggruppamento SQL per SQL Avere SQL esiste SQL Qualsiasi, Tutti SQL Seleziona in Inserisci SQL in Seleziona Caso SQL Funzioni SQL Null Stored procedure SQL Commenti SQL Operatori SQL

Database SQL

SQL Crea DB SQL Drop DB DB di backup SQL SQL Crea tabella Tabella di rilascio SQL SQL Alter tabella Vincoli SQL SQL non nullo SQL unico Chiave primaria SQL Chiave esterna SQL Controllo SQL SQL predefinito Indice SQL Incremento automatico SQL Date SQL Viste SQL SQL Injection Hosting SQL Tipi di dati SQL

Riferimenti SQL

Parole chiave SQL Funzioni MySQL Funzioni di SQL Server Funzioni di accesso MS Riferimento rapido SQL

Esempi SQL

Esempi SQL Quiz SQL Esercizi SQL Certificato SQL

Vincolo CONTROLLO SQL


Vincolo CONTROLLO SQL

Il CHECKvincolo viene utilizzato per limitare l'intervallo di valori che può essere inserito in una colonna.

Se si definisce un CHECKvincolo su una colonna, verranno consentiti solo determinati valori per questa colonna.

Se si definisce un CHECKvincolo su una tabella, è possibile limitare i valori in alcune colonne in base ai valori in altre colonne nella riga.


CONTROLLO SQL su CREATE TABLE

L'SQL seguente crea un CHECKvincolo sulla colonna "Età" quando viene creata la tabella "Persone". Il CHECKvincolo garantisce che l'età di una persona deve avere 18 anni o più:

MySQL:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CHECK (Age>=18)
);

SQL Server/Oracle/Accesso MS:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int CHECK (Age>=18)
);

Per consentire la denominazione di un CHECKvincolo e per definire un CHECKvincolo su più colonne, utilizzare la seguente sintassi SQL:

MySQL/SQL Server/Oracle/MS Access:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    City varchar(255),
    CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);


CONTROLLO SQL su ALTER TABLE

Per creare un CHECKvincolo sulla colonna "Età" quando la tabella è già stata creata, utilizzare il seguente SQL:

MySQL/SQL Server/Oracle/MS Access:

ALTER TABLE Persons
ADD CHECK (Age>=18);

Per consentire la denominazione di un CHECKvincolo e per definire un CHECKvincolo su più colonne, utilizzare la seguente sintassi SQL:

MySQL/SQL Server/Oracle/MS Access:

ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');

RILASCIA un vincolo CHECK

Per eliminare un CHECKvincolo, utilizzare il seguente SQL:

SQL Server/Oracle/Accesso MS:

ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;

MySQL:

ALTER TABLE Persons
DROP CHECK CHK_PersonAge;