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