Consulta SQL para mostrar todas las restricciones existentes en una tabla

En SQL, a veces necesitamos mostrar todas las restricciones existentes actualmente en una tabla. Todo el proceso para hacer lo mismo se demuestra a continuación. Para este artículo, utilizaremos Microsoft SQL Server como nuestra base de datos.

Paso 1: crear una base de datos. Para esto, use el siguiente comando para crear una base de datos llamada GeeksForGeeks.

Consulta:

CREATE DATABASE GeeksForGeeks

Producción:

Paso 2: use la base de datos GeeksForGeeks. Para esto, use el siguiente comando.

Consulta:

USE GeeksForGeeks

Producción:

Paso 3: Cree una tabla STUDENT_INFO dentro de la base de datos GeeksForGeeks. Esta tabla tiene 3 columnas, a saber, ROLL_NO, STUDENT_NAME y BRANCH que contienen el número de registro, el nombre y la rama de varios estudiantes.

Consulta:

CREATE TABLE STUDENT_INFO(
ROLL_NO INT,
STUDENT_NAME VARCHAR(10),
BRANCH VARCHAR(5)
);

Producción:

Paso 4: Muestre las restricciones actuales aplicadas en la tabla STUDENT_INFO. Usamos INFORMATION_SCHEMA.TABLE_CONSTRAINTS para mostrar las restricciones. Aquí, mostramos el nombre (CONSTRAINT_NAME) y el tipo de restricción (CONSTRAINT_TYPE) para todas las restricciones existentes.

Sintaxis:

SELECT INFORMATION
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_NAME='TABLE_NAME';

Consulta:

SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_NAME='STUDENT_INFO';

Nota : dado que nuestra tabla no tiene restricciones actualmente, no se muestran filas.

Producción:

Paso 5: modifique la columna ROLL_NO utilizando la tabla de cláusulas ALTER para establecerla en NOT NULL . Hacemos esto porque es un requisito previo para configurar ROLL_NO como PRIMARY KEY (hecho en el siguiente paso).

Consulta:

ALTER TABLE STUDENT_INFO ALTER 
COLUMN ROLL_NO INT NOT NULL;

Producción:

Paso 6: Agregue una restricción PRIMARY KEY llamada C1 a la columna ROLL_NO usando la cláusula ALTER.

Consulta:

ALTER TABLE STUDENT_INFO ADD CONSTRAINT 
C1 PRIMARY KEY (ROLL_NO);

Producción:

Paso 7: Muestre las restricciones actuales aplicadas en la tabla STUDENT_INFO.

Consulta:

SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_NAME='STUDENT_INFO';

Nota: Dado que nuestra tabla tiene solo 1 restricción, es decir, la restricción PRIMARY KEY actualmente, por lo tanto, solo se muestra 1 fila.

Producción:

Paso 8: Agregue una restricción CHECK llamada BRANCH_CHECK a la columna BRANCH usando la cláusula ALTER.

Consulta:

ALTER TABLE STUDENT_INFO ADD CONSTRAINT BRANCH_CHECK
CHECK (BRANCH IN('CSE','ECE','CE','ME','ELE'));

Producción:

Paso 9: Muestre las restricciones actuales aplicadas en la tabla STUDENT_INFO.

Consulta:

SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_NAME='STUDENT_INFO';

Nota: Dado que nuestra tabla tiene 2 restricciones, es decir, la restricción PRIMARY KEY y la restricción CHECK actualmente, se muestran 2 filas.

Producción:

Paso 10: agregue una restricción ÚNICA denominada UNIQ a la columna STUDENT_NAME utilizando la cláusula ALTER.

Consulta:

ALTER TABLE STUDENT_INFO ADD CONSTRAINT 
UNIQ UNIQUE(STUDENT_NAME);

Producción:

Paso 11: Muestre las restricciones actuales aplicadas en la tabla STUDENT_INFO.

Consulta:

SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_NAME='STUDENT_INFO';

Nota: Dado que nuestra tabla tiene 3 restricciones, es decir, la restricción PRIMARY KEY, la restricción CHECK y la restricción UNIQUE actualmente, por lo tanto, se muestran 3 filas.

Producción:

Publicación traducida automáticamente

Artículo escrito por abhisri459 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *