Загрузка...
В данном руководстве будет продемонстрировано 3 способа посмотреть структуру таблицы с помощью таких операторов как:
Используемое программное обеспечение:
Во всех экспериментах будет использована системная одноимённая база данных mysql, т.к. данная база присутствует во всех версиях СУБД MySQL.
Сразу хотелось бы уточнить, что в mysql сокращённую форму DESC можно расшифровать двумя способами:
1-й случай относится к текущей теме, 2-й - нет.
Для начала конечно же необходимо подключиться к СУБД MySQL через консоль.
Подключаемся к mysql 5.7
mysql -P 3307 -uroot -p mysql
где
Подключаемся к MySQL 8.0
mysql -P 3306 -uroot mysql
Версия 8.0 настроена без пароля для пользователя root.
При подключении имя базы данных, в нашем случае mysql, можно не использовать, тогда придётся использовать оператор use:
use <database_name>;
Далее используется таблица user в базе mysql:
DESCRIBE user;
версия 5.7
Версия 8.0
Проверим работу сокращённого оператора DESC:
DESC user;
Для MySQL 5.7:
Для MySQL 8.0:
С помощью встроенного справочника можно посмотреть информацию о данном операторе DESCRIBE:
help describe;
для версии mysql 5.7
для версии mysql 8.0:
В данном блоке рассмотрю использование оператора SHOW COLUMNS, которого будет достаточно для изучения структуры таблицы.
SHOW COLUMNS FROM user;
Оператор SHOW с таким синтаксисом можно использовать если наше подключение находится в контексте нужной нам базы данных, о чём свидетельствует параметр "Current database: mysql"
mysql 5.7
mysql 8.0
SHOW COLUMNS FROM user FROM mysql;
Если подключение не находится в контексте нужной нам базы или вообще не в контексте какой-либо базы, то можно и нужно указать оператору базу с помощью клаузулы FROM:
mysql 5.7
mysql 8.0
SHOW COLUMNS FROM mysql.user;
Также не будучи в контексте какой-либо базы допускается использование так называемого полного квалификатора, т.е. перед именем таблицы использовать имя базы данных через точку: <database_name>.<table_name>
mysql 5.7
mysql 8.0
Также настоятельно рекоменду воспользоваться встроенным руководством по данному оператору:
help show columns;
которое присуствует как в MySQL 5.7
так и в mysql 8
Оператор EXPLAIN редко используется для просмотра структуры таблицы, но знать о его использовании в таком контексте тоже необходимо:
EXPLAIN user;
В первом случае также неоходимо быть в контексте нужной базы данных:
MySQL 5.7
MySQL 8.0
EXPLAIN mysql.user;
Во втором случае контекст базы данных не обязателен т.к. используется полный квалификатор:
MySQL 5.7
MySQL 8.0
Также по традиции рекомендую ознакомиться с официальной документацией, встроенной в MySQL:
help EXPLAIN;
MySQL 5.7
MySQL 8.0