You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today.

Загрузка...

Посмотреть структуру таблицы mysql для версий 5.7 и 8

В данном руководстве будет продемонстрировано 3 способа посмотреть структуру таблицы с помощью таких операторов как:

Используемое программное обеспечение:

  • MySQL 5.7.33;
  • MySQL 8.0;
  • Windows 10 21H2 (сборка ОС 19044.1889).

Во всех экспериментах будет использована системная одноимённая база данных mysql, т.к. данная база присутствует во всех версиях СУБД MySQL.

Использование DESCRIBE в MySQL

Сразу хотелось бы уточнить, что в mysql сокращённую форму DESC можно расшифровать двумя способами:

  1. DESC - это DESCRIBE;
  2. DESC - означающий descending, используется при сортировке в ORDER BY клаузуле, например ORDER BY id DESC, что означает сортировка в обратном порядке.

1-й случай относится к текущей теме, 2-й - нет.

Для начала конечно же необходимо подключиться к СУБД MySQL через консоль.

Подключаемся к mysql 5.7

 mysql -P 3307 -uroot -p mysql 

где

  • mysql в начале - это консольная утилита mysql.exe
  • -P - параметр в верхнем регистре означающий port/порт;
  • -u - параметр означающий user/пользователь;
  • -p - параметр в нижнем регистре означающий пароль/password
  • mysql в конце - это системная база данных, также можно использовать абсолютно другую базу данных, к которой есть доступ.

 

Подключение к mysql 5.7 с консоли cmd в Windows 10

Подключаемся к MySQL 8.0


mysql -P 3306 -uroot mysql

Версия 8.0 настроена без пароля для пользователя root.

Подключение к mysql 8.0 с консоли cmd в Windows 10

При подключении имя базы данных, в нашем случае mysql, можно не использовать, тогда придётся использовать оператор use:

use <database_name>;

Далее используется таблица user в базе mysql:

DESCRIBE user;

версия 5.7

describe statement mysql 5.7

Версия 8.0

describe statement mysql 8.0

Проверим работу сокращённого оператора DESC:

DESC user;

Для MySQL 5.7:

DESC statement mysql 5.7 Windows 10

Для MySQL 8.0:

DESC statement MySQL 8.0 Windows 10

С помощью встроенного справочника можно посмотреть информацию о данном операторе DESCRIBE:

help describe;

для версии mysql 5.7

help describe в mysql 5.7 Windows 10

для версии mysql 8.0:

DESCRIBE statement в MySQL 8.0 Windows 10

Использование в MySQL show columns from table

В данном блоке рассмотрю использование оператора SHOW COLUMNS, которого будет достаточно для изучения структуры таблицы.


SHOW COLUMNS FROM user;

Оператор SHOW с таким синтаксисом можно использовать если наше подключение находится в контексте нужной нам базы данных, о чём свидетельствует параметр "Current database: mysql"

mysql 5.7

1 show columns в mysql 5.7 windows 10

mysql 8.0

show columns в mysql 8.0 windows 10


SHOW COLUMNS FROM user FROM mysql;

Если подключение не находится в контексте нужной нам базы или вообще не в контексте какой-либо базы, то можно и нужно указать оператору базу с помощью клаузулы FROM:

mysql 5.7

show columns с использованием from clause mysql 5.7 windows 10

mysql 8.0

show columns с использованием FROM clause mysql 8.0 Windows 10

SHOW COLUMNS FROM mysql.user;

Также не будучи в контексте какой-либо базы допускается использование так называемого полного квалификатора, т.е. перед именем таблицы использовать имя базы данных через точку: <database_name>.<table_name>

mysql 5.7

show columns полный квалификатор mysql 5.7 windows 10

mysql 8.0

show columns c использованием полного квалификатора mysql 8.0 windows 10

Также настоятельно рекоменду воспользоваться встроенным руководством по данному оператору:


help show columns;

которое присуствует как в MySQL  5.7

help show columns mysql 5.7 windows 10

так и в mysql 8

help show columns mysql 8.0 windows 10

Использование оператора EXPLAIN <table> в MySQL

Оператор EXPLAIN редко используется для просмотра структуры таблицы, но знать о его использовании в таком контексте тоже необходимо:


EXPLAIN user;

В первом случае также неоходимо быть в контексте нужной базы данных:

MySQL 5.7

explain mysql 5.7 windows 10

MySQL 8.0

explain mysql 8.0 windows 10


 EXPLAIN mysql.user;

Во втором случае контекст базы данных не обязателен т.к. используется полный квалификатор:

MySQL 5.7

explain полный квалификатор mysql 5.7 windows 10

MySQL 8.0

explain полный квалификатор mysql 8.0 windows 10

Также по традиции рекомендую ознакомиться с официальной документацией, встроенной в MySQL:


help EXPLAIN;

MySQL 5.7

help explain mysql 5.7 windows 10

MySQL 8.0

explain mysql 8.0 windows 10