foreign drop delete constraint check mysql syntax constraints

drop - on delete cascade mysql



Obteniendo metadatos de tabla en MySQL (5)

Deberías probarlo y ver. INFORMATION_SCHEMA es parte de algún estándar y es soportado de una manera (casi) similar en otras bases de datos; este estándar debe documentarse; puede buscar ese documento.

Pero principalmente, el camino sería crear un conjunto de tablas de prueba y luego echar un vistazo a INFORMATION_SCHEMA para ver qué hay allí.

Estoy tratando de averiguar cómo obtener la siguiente información de restricción de una tabla en MySQL 5.0:

  • Clave primaria
  • claves extranjeras y referencias de tabla
  • columnas únicas

¿Cuál es la sintaxis de la consulta o las consultas para hacerlo? Tengo la sensación de que estoy cerca de esto , pero no hay ningún ejemplo.


El comando SHOW COLUMNS le mostrará la clave principal y las columnas exclusivas de una tabla.

En cuanto a las claves externas, puede usar algo como el comando SHOW CREATE TABLE, que generará las instrucciones DDL necesarias para replicar la tabla.


Utilizar

show fields from table_name show keys from table_name

para obtener claves primarias, claves externas, únicas, etc.

para obtener la tabla a la que hace referencia el uso de una clave externa:

SELECT `REFERENCED_TABLE_NAME` FROM `information_schema`.`KEY_COLUMN_USAGE` WHERE `TABLE_NAME` = ''[table_containing_foreign_key]'' AND `COLUMN_NAME` = ''[foreign_key]''

sustituyendo [table_containing_foreign_key] y [foreign_key] con sus valores


utilice lo siguiente para obtener el mismo uso de Seleccionar consulta:

SELECT table_schema, table_name, column_name, ordinal_position, data_type, numeric_precision, column_type FROM information_schema.columns WHERE table_name = ''[TABLE_NAME]'';


Para MySQL:

1) obtener metadatos Tabla / Campos

SELECT table_schema, table_name, column_name, ordinal_position, data_type, numeric_precision, column_type, column_default, is_nullable, column_comment FROM information_schema.columns WHERE (table_schema=''schema_name'' and table_name = ''table_name'') order by ordinal_position;

O

show fields from ''table_name''

2) obtener la tabla de referencias de Foregn Keys

SELECT `REFERENCED_TABLE_NAME` FROM `information_schema`.`KEY_COLUMN_USAGE` WHERE `TABLE_NAME` = ''table_name'' AND `COLUMN_NAME` = ''Column_Name''

3) obtener índices (primarios y extranjeros) para una tabla

show keys from `table_name`

5) obtener todos los índices y la tabla referida

SELECT * FROM `KEY_COLUMN_USAGE` WHERE `TABLE_NAME` = ''table_name'' AND `TABLE_SCHEMA` = ''schema_name''

O

SELECT * FROM `REFERENTIAL_CONSTRAINTS` WHERE `TABLE_NAME` = ''table_name'' AND `CONSTRAINT_SCHEMA` = ''schema_name''

6) obtener PROCEDIMIENTOS ALMACENADOS

SELECT * FROM `ROUTINES` WHERE `ROUTINE_SCHEMA` = ''schema_name''

7) obtener disparos

SELECT * FROM `TRIGGERS` WHERE `TRIGGER_SCHEMA` = ''schema_name''

8) obtener EVENTOS

SELECT * FROM `EVENTS` WHERE `EVENT_SCHEMA` = ''schema_name''

9) obtener VIEWS

SELECT * FROM `VIEWS` WHERE `TABLE_NAME` = ''table_name'' AND `TABLE_SCHEMA` = ''schema_name''