Verifique la restricción en SQL: explicada con ejemplos de sintaxis de MySQL y SQL Server

La restricción CHECK se utiliza para limitar el rango de valores que se puede colocar en una columna.

Si define una restricción CHECK en una sola columna, solo permite ciertos valores para esta columna.

Si define una restricción CHECK en una tabla, puede limitar los valores en ciertas columnas en función de los valores en otras columnas de la fila.

VERIFICACIÓN SQL en CREAR TABLA

El siguiente SQL crea una restricción CHECK en la columna "Edad" cuando se crea la tabla "Personas". La restricción CHECK asegura que no puede tener ninguna persona menor de 18 años:

MySQL:

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

Acceso a SQL Server / Oracle / MS:

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

Para permitir el nombramiento de una restricción CHECK y para definir una restricción CHECK en varias columnas, utilice la siguiente sintaxis 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") ); 

VERIFICACIÓN SQL en ALTER TABLE

Para crear una restricción CHECK en la columna "Edad" cuando la tabla ya está creada, use el siguiente SQL:

MySQL / SQL Server / Oracle / MS Access:

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

Para permitir el nombramiento de una restricción CHECK y para definir una restricción CHECK en varias columnas, utilice la siguiente sintaxis SQL:

MySQL / SQL Server / Oracle / MS Access:

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

DROP a CHECK Constraint

Para eliminar una restricción CHECK, utilice el siguiente SQL:

Acceso a SQL Server / Oracle / MS:

ALTER TABLE Persons DROP CONSTRAINT CHK_PersonAge; 

MySQL:

ALTER TABLE Persons DROP CHECK CHK_PersonAge;