Как посмотреть структуру таблицы mysql
Перейти к содержимому

Как посмотреть структуру таблицы mysql

  • автор:

MySQL список таблиц и их структура

Для настройки кодировки utf8 по умолчанию
Необходимо внести следующие изменения в файл my.cnf (my.ini):

[mysqld]

init_connect=‘SET collation_connection = utf8_unicode_ci’ character-set-server = utf8 collation-server = utf8_unicode_ci

[client]
default-character-set = utf8

CREATE TABLE `table_new` FROM `table_orig`;

Информация об установленной версии pkg_info | grep mysql (FreeBSD) добавить столбец в таблице в базе mysql

ALTER TABLE `table_name` ADD `vcolumn_name` INT( 11 ) NOT NULL;

переименование столбцов в таблице

ALTER TABLE `table` CHANGE COLUMN `test` `materials` INT(10) NOT NULL DEFAULT 0;

внести изменения в столбцы таблицы

ALTER TABLE `table` MODIFY COLUMN `test` SMALLINT NOT NULL DEFAULT 0, `materials` SMALLINT NOT NULL DEFAULT 0;
ALTER TABLE tablename ENGINE=MyISAM

В будущем, если включите innodb_file_per_table, сможете уменьшать объем tablespace путем
пересоздания таблиц сразу в InnoDB (т.к. в режиме файл-на-таблицу файл при удалении таблицы
стирается) командой

ALTER TABLE tablename ENGINE=InnoDB

Определение размера таблицы

SELECT table_name AS table_name, engine, ROUND(data_length/1024/1024,2) AS total_size_mb, table_rows FROM information_schema.tables WHERE table_schema=DATABASE();

Показывает обьем и количество строк в таблицах MySQL.

Перемещение таблицы MySQL в другую базу

mysql> RENAME TABLE database1.table TO database2.table;

Копирование таблицы MySQL в другую базу

mysql> CREATE TABLE database2.table LIKE database1.table; mysql> INSERT INTO database2.table SELECT * FROM database1.table;

Копирование таблицы MySQL в другую базу с условием

mysql> CREATE TABLE database2.table LIKE database1.table; mysql> INSERT INTO database2.table SELECT * FROM database1.table WHERE `row`='1';

Копирование необходимых столбцов таблицы MySQL в другую базу

mysql> INSERT INTO database2.table(`row_1`, `row_2`, `row_3`) SELECT `row_1`, `row_2`, `row_3` FROM database1.table;

database1— база из которой копируем database2 — база в которую копируем
table — название таблицы

Текущее состояние кэша

Посмотреть состояние кэша можно с помощью запроса:

mysql> SHOW GLOBAL STATUS LIKE 'Qcache%'; +-------------------------+----------+ | Variable_name | Value | +-------------------------+----------+ | Qcache_free_blocks | 973 | | Qcache_free_memory | 14282000 | | Qcache_hits | 3293750 | | Qcache_inserts | 252819 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 66645 | | Qcache_queries_in_cache | 1342 | | Qcache_total_blocks | 3709 | +-------------------------+----------+ 8 rows in set (0.00 sec)
  • Qcache_free_memory — объем свободной памяти, отведенной под кэш.
  • Qcache_hits — количество запросов, отработанных из кэша.
  • Qcache_inserts — количество вставок запросов в кэш.
  • Qcache_lowmem_prunes — количество высвобождений памяти из-за наполненности кэша.
  • Qcache_not_cached — количество запросов, не подлежащих кэшированию.
  • Qcache_queries_in_cache — количество запросов, находящихся в кэше в настоящее время.

Мерой эффективности кэша может служить отношение Qcache_hits / (Qcache_inserts + Qcache_not_cached).

Читайте другие интересные статьи

Понравилась статья, расскажи о ней друзьям, нажми кнопку!

Как посмотреть схему таблиц в MySQL: подробное руководство с пошаговыми инструкциями и примерами

Эта команда покажет вам полное описание таблицы, включая ее структуру и типы данных столбцов. Надеюсь, это помогло!

Детальный ответ

Как посмотреть схему таблиц в MySQL MySQL — это популярная реляционная система управления базами данных (СУБД), которая широко используется в различных веб-приложениях. Когда вы работаете с базой данных MySQL, иногда может возникнуть необходимость получить схему таблицы для понимания ее структуры и отношений. Что такое схема таблицы Схема таблицы — это описание структуры таблицы, которая включает в себя имена столбцов, их типы данных, индексы и ограничения. Схема помогает разработчикам и администраторам баз данных понять, какие данные хранятся в таблице и как эти данные связаны между собой. Как посмотреть схему таблицы в MySQL В MySQL существует несколько способов получить схему таблицы. Вот несколько из них: 1. Оператор DESCRIBE Оператор DESCRIBE — это простой способ получить схему таблицы в MySQL. Он позволяет увидеть структуру столбцов и их типы данных.

DESCRIBE table_name;

Здесь «table_name» — это имя таблицы, схему которой вы хотите узнать. Например:

DESCRIBE users;

Это покажет структуру таблицы «users» и ее столбцы. 2. Информация из таблицы INFORMATION_SCHEMA MySQL предоставляет специальную базу данных с именем INFORMATION_SCHEMA, которая содержит метаданные о базе данных. Вы можете использовать эту базу данных для получения информации о схеме таблицы. Чтобы получить схему таблицы с использованием информации из таблицы INFORMATION_SCHEMA, выполните следующий запрос:

SELECT COLUMN_NAME, DATA_TYPE, COLUMN_KEY, IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'table_name' AND TABLE_SCHEMA = 'database_name';

Здесь «table_name» — это имя таблицы, а «database_name» — имя базы данных, в которой находится таблица. Например:

SELECT COLUMN_NAME, DATA_TYPE, COLUMN_KEY, IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'users' AND TABLE_SCHEMA = 'my_database';

Этот запрос вернет информацию о столбцах таблицы «users» в базе данных «my_database». 3. Запрос SHOW CREATE TABLE Оператор SHOW CREATE TABLE возвращает создающий запрос таблицы, который включает полную схему таблицы, включая все столбцы, типы данных, индексы и ограничения.

SHOW CREATE TABLE table_name;

Здесь «table_name» — это имя таблицы, схему которой вы хотите получить. Например:

SHOW CREATE TABLE users;

Этот запрос вернет создающий запрос для таблицы «users», включая все ее столбцы и ограничения. Заключение В этой статье мы рассмотрели несколько способов получить схему таблицы в MySQL. Оператор DESCRIBE, информация из таблицы INFORMATION_SCHEMA и оператор SHOW CREATE TABLE предоставляют различные подходы к получению схемы таблицы и позволяют лучше понять структуру таблицы и данные, которые она содержит.

Как посмотреть структуру таблиц в MySQL

SHOW DATABASES; — список баз данных
SHOW TABLES [FROM db_name]; — список таблиц в базе
SHOW COLUMNS FROM таблица [FROM db_name]; — список столбцов в таблице
SHOW CREATE TABLE table_name; — показать структуру таблицы в формате «CREATE TABLE»
SHOW INDEX FROM tbl_name; — список индексов
SHOW GRANTS FOR user [FROM db_name]; — привилегии для пользователя.

SHOW VARIABLES; — значения системных переменных
SHOW [FULL] PROCESSLIST; — статистика по mysqld процессам
SHOW STATUS; — общая статистика
SHOW TABLE STATUS [FROM db_name]; — статистика по всем таблицам в базе

Запись опубликована 07.02.2012 автором admin в рубрике трудовыебудни.

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

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

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

  • DESCRIBE в сокращённой форме DESC;
  • SHOW;
  • EXPLAIN.

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

  • 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:

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

DESCRIBE user;

describe statement mysql 5.7

describe statement mysql 8.0

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

DESC user;

DESC statement mysql 5.7 Windows 10

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;

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

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 в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *