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