Стандартные SQL-инструменты
Основная точка входа – служебная БД INFORMATION_SCHEMA и mysql:
- Список всех баз данных:
SHOW DATABASES;
- Все таблицы во всех базах с типом и движком:
SELECT TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE,
ENGINE
FROM INFORMATION_SCHEMA.TABLES
ORDER BY TABLE_SCHEMA, TABLE_NAME;
- Полное описание структуры одной таблицы:
SHOW CREATE TABLE db_name.table_name\G
или в виде строк:
SELECT COLUMN_NAME,
COLUMN_TYPE,
IS_NULLABLE,
COLUMN_DEFAULT,
COLUMN_KEY,
EXTRA
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'db_name'
ORDER BY TABLE_NAME, ORDINAL_POSITION;
- Все внешние ключи и связи:
SELECT CONSTRAINT_SCHEMA,
TABLE_NAME,
CONSTRAINT_NAME,
REFERENCED_TABLE_NAME
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
ORDER BY CONSTRAINT_SCHEMA, TABLE_NAME;
Из этих представлений можно собрать «паспорт» БД – список таблиц, полей, индексов, ограничений, типов и т.д.
CLI- и дамп-инструменты
Для “идентификации” схемы (получить полную структуру как артефакт) обычно используют:
mysqldump– дамп только схемы без данных:
mysqldump -h host -u user -p \
--databases db1 db2 \
--no-data --routines --events --triggers > schema.sql
Получается один файл со всеми CREATE DATABASE, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE и т.п., по нему можно однозначно идентифицировать структуру.
mariadb-dump– аналогично, в новых установках MariaDB.
Это удобно: файл можно класть в git, сравнивать версии, смотреть диффы схем между серверами.
GUI / внешние инструменты
Если нужен визуальный обзор структуры, ER-диаграммы и т.п., можно использовать:
- MySQL Workbench (к MariaDB подключается как к MySQL, reverse engineering схемы, экспорт модели в SQL).
- DBeaver / HeidiSQL / Navicat, dbForge Studio и т.п. – показывают дерево БД, таблиц, колонок, индексов и умеют генерировать
CREATE TABLE/CREATE DATABASE.
Чаще всего на практике для “идентификации” структуры достаточно одной связки: mysqldump --no-data для фиксации схемы и запросов к INFORMATION_SCHEMA для разовых проверок/отчетов.
[file-name 000355_2026-03-09_08-01-56.txt]