Получить структуру таблиц базы данных MySQL

Для того чтобы перенести структуру таблиц из одной базы данных в другую, нужно получить DDL схему базы данных. в mysql схему таблицы можно например посмотреть так

USE database;
SHOW CREATE TABLE table;

получаем что-то в виде:

show create table hello;
+-------+------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                 |
+-------+------------------------------------------------------------------------------------------------------------------------------+
| hello | CREATE TABLE `hello` (
  `world` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+-------+------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Но что делать если у нас большая база данных с большим количеством таблиц.

Для этого надо запустить:

mysqldump --compact --no-set-names --skip-opt --no-data DB | sed "/ SET /d"

где DB — база данных, ну и да, если база данных с паролем, надо сюда подставить -uroot -p чтобы авторизоваться для выполнения скрипта.

Эта команда выведет все таблицы из базы данных.

Оставьте комментарий