Ответ 1
Вы можете сделать это, используя служебную программу командной строки mysqldump:
mysqldump -d -u <username> -p<password> -h <hostname> <dbname>
Опция -d
означает "без данных".
Как сгенерировать DDL для всех таблиц в базе данных MySQL сразу. Я знаю, что следующий запрос будет выводить DDL для таблицы. Но я хочу DDL всех таблиц сразу, потому что у меня есть сотни таблиц в моей базе данных.
show create table <database name>.<table name>;
Например:
show create table projectdb.customer_details;
Вышеприведенный запрос приведет к DDL таблицы customer_details
.
Я использую MySQL с рабочим местом MySQL в ОС Windows.
Вы можете сделать это, используя служебную программу командной строки mysqldump:
mysqldump -d -u <username> -p<password> -h <hostname> <dbname>
Опция -d
означает "без данных".
@tftdias выше сделал комментарий, который является частично правильным:
Проблема заключалась в пробеле между -p и pps в качестве пароля. Вы можете полностью освободить свой пароль в командной строке. Вы просто не должны, как правило безопасности. В linux с надлежащей конфигурацией вы можете добавить пробел ( ") перед первым символом в командной строке, и эта строка не войдет в" историю". Я бы рекомендовал, чтобы всякий раз, когда вы очищаете свой пароль (не делайте этого!), Вы сначала поместите пробел, чтобы пароль не был в видимой истории.
Вы должны получить список всех таблиц в базе данных и затем запустить этот запрос. проверьте эту ссылку, чтобы получить список всех таблиц: http://php.net/manual/en/function.mysql-list-tables.php