sql >> Databasteknik >  >> RDS >> Mysql

Hämta tabellmetadata i MySQL

För MySQL:

1) hämta metadata för tabell/fält

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;

ELLER

show fields from 'table_name' 

2) hämta Foregn Keys-referenstabell

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

3) hämta index (primära och utländska) för en tabell

show keys from `table_name`

5) hämta Alla index och refererade tabell

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

ELLER

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

6) hämta LAGRADE PROCEDURER

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

7) få TRIGGERS

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

8) få HÄNDELSER

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

9) få VISNINGAR

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


  1. Hur man förhindrar anslutningstidsgränser för stora MySQL-importer

  2. Komma igång med MariaDB med Docker, Java Spring och JDBC

  3. Sök efter en viss sträng i Oracle Clob-kolumnen

  4. EF Core `uppdateringsdatabas` på MySql misslyckas med `__EFMigrationsHistory' existerar inte`