Consulta SQL para verificar o encontrar el nombre de la columna que es la columna de clave principal

El lenguaje de consulta estructurado o SQL se compone de comandos que permiten a los usuarios crear estructuras de bases de datos y tablas, realizar varios tipos de manipulación y administración de datos y consultar la base de datos para extraer información útil. Comenzaremos con la creación de la base de datos «geeksforgeeks» y luego procederemos con la creación de una tabla «interns» en esa base de datos. Luego de esto ejecutaremos nuestra consulta sobre la tabla.

Creación de base de datos:

CREATE DATABASE geeksforgeeks;

Para usar la base de datos creada anteriormente:

USE geeksforgeeks;

Crear mesa :

CREATE TABLE interns(
    id SERIAL PRIMARY KEY, 
    name VARCHAR(30),
     gender VARCHAR(1), 
    mobile BIGINT, 
    email VARCHAR(35), 
    city VARCHAR(25));

Para ver la descripción de la tabla creada anteriormente:

DESC interns;

Insertar datos en la tabla:

INSERT INTO interns(name, gender, mobile, email, city) VALUES ('Richa', 'F', '7999022923', 'richa@gmail.com', 'Delhi');
INSERT INTO interns(name, gender, mobile, email, city) VALUES ('Shivam', 'M', '9999028833', 'shivam@gmail.com', 'Pune');
INSERT INTO interns(name, gender, mobile, email, city) VALUES ('Varnika', 'F', '7919490007', 'varnika@gmail.com', 'Mumbai');
INSERT INTO interns(name, gender, mobile, email, city) VALUES ('Abhishek', 'M', '7610573879', 'abhishek@gmail.com', 'Bangalore');

Ver datos insertados:

SELECT * FROM interns;

Hemos terminado con la creación de la base de datos, la creación de la tabla y la inserción de datos en la tabla. Ahora, tenemos que averiguar la CLAVE PRINCIPAL de la tabla creada y esa CLAVE PRIMARIA debe ser «id».

Para encontrar la CLAVE PRINCIPAL de cualquier tabla:

SELECCIONE K.COLUMN_NAME DE  

INFORMACIÓN_ESQUEMA.TABLE_CONSTRAINTS T 

UNIRSE A INFORMACIÓN_ESQUEMA.CLAVE_COLUMN_USO K

ON K.CONSTRAINT_NAME=T.CONSTRAINT_NAME  

WHERE K.TABLE_NAME= ‘TU-TABLA-NOMBRE’  

Y K.TABLE_SCHEMA= ‘SU-NOMBRE_BASE DE DATOS’

Y T.CONSTRAINT_TYPE=’CLAVE PRIMARIA’ LÍMITE 1;

Ejemplo :

SELECT K.COLUMN_NAME FROM  
INFORMATION_SCHEMA.TABLE_CONSTRAINTS T
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE K
ON K.CONSTRAINT_NAME=T.CONSTRAINT_NAME  
WHERE K.TABLE_NAME='interns'
AND K.TABLE_SCHEMA='geeksforgeeks'  
AND T.CONSTRAINT_TYPE='PRIMARY KEY' LIMIT 1;

Aquí, obtenemos COLUMN_NAME como «id», es decir, PRIMARY KEY de la tabla «interns».

Explicación :

INFORMACIÓN_ESQUEMA.TABLE_CONSTRAINTS es una tabla que consta de información sobre todas las tablas creadas en cualquiera de las bases de datos hasta ahora. Requerimos esta tabla para validar CONSTRAINT_TYPE. Puede ver la información proporcionada por la tabla ejecutando la siguiente consulta.

SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS;

Además, tenemos la tabla INFORMATION_SCHEMA.KEY_COLUMN_USAGE que describe qué columnas clave tienen restricciones. Requerimos esta tabla para obtener COLUMN_NAME. Puede ver la información proporcionada por la tabla ejecutando la siguiente consulta.

SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE;

Entonces, hemos unido estas dos tablas TABLE_CONSTRAINTS (T) y KEY_COLUMN_USAGE (K) en CONSTRAINT_NAME. Hemos seleccionado K.COLUMN_NAME de aquellos registros donde K.TABLE_NAME = ‘interns’ y K.TABLE_SCHEMA = ‘geeksforgeeks’ y T.CONSTRAINT_TYPE = ‘PRIMARY KEY’.

Publicación traducida automáticamente

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

Categories SQL

Deja una respuesta

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