Я использую linux-путь. Сначала создайте файл ~/.my.cnf, чтобы сохранить имя пользователя и пароль для mysql. Затем используйте нижеприведенный фрагмент и запустите его в терминале linux.
Создайте список таблиц и фильтруйте заголовок и awk для генерации столбца. Затем используйте тот же метод для DESC table_name.
for i in $(mysql MYDBNAME -e 'SHOW TABLES' | grep -v "Tables_in" | awk '{print $1}'); do echo "TABLE: $i"; mysql MYDBNAME -e "DESC $i"; done
Надеюсь, это поможет.
Ответ 4
По умолчанию Mysql не описывает все таблицы в базе данных. Основная причина Основная цель базы данных Просто децентрализовать власть и позаботиться о метаданных, но не индексировать данные.
Подключиться к базе данных:
mysql [-u имя_пользователя] [-h имя_хоста] имя-базы данных
Чтобы перечислить все базы данных, введите в командной строке MySQL:
показать базы данных
Затем выберите нужную базу данных:
используйте MyDB;
Список всех таблиц в базе данных:
показать таблицы;
Опишите таблицу:
desc table-name или
описать имя таблицы
Ответ 5
mysql -B -N -u root -pPASSWORD -h somehost \
-e "SELECT DISTINCT CONCAT('describe ', table_name, ';') AS query FROM information_schema.tables WHERE table_schema='DATABASE_NAME_HERE' " | \
mysql -B -N -u root -pPASSWORD -h somehost DATABASE_NAME_HERE