§ Вывести размеры таблиц в базе

SELECT  table_name, ROUND(((data_length + index_length) / 1024 / 1024 / 1024), 2) AS size
FROM information_schema.TABLES
WHERE table_schema = "[db]" ORDER BY size ASC;

§ Полезные команды

Переместить колонку
ALTER TABLE tablename MODIFY COLUMN field_before_name VARCHAR(50) AFTER field_after;

§ Управление БД MySQL

Назначение всех привилегий на пользователя
GRANT ALL PRIVILEGES ON database.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
Создать базу данных в UTF8
CREATE DATABASE `mydatabase` CHARACTER SET utf8 COLLATE utf8_general_ci;
Отключить STRICT MODE, чтобы можно было выполнять GROUP BY по неагрегированным
SET GLOBAL SQL_MODE = '';
Удалить правила для создания паролей
SET GLOBAL validate_password_special_char_count = 0;
SET GLOBAL validate_password_length = 0;
SET GLOBAL validate_password_policy = 'LOW';
SET GLOBAL validate_password_mixed_case_count = 0;
SET GLOBAL validate_password_length = 0;
Полная информация по таблице
SELECT * FROM information_schema.TABLES WHERE table_schema = "[db]" AND table_name = '[table]'\G
  • ENGINE - Используемый движок
  • TABLE_ROWS - Количество строк
  • AVG_ROW_LENGTH - Средняя длина строк в байтах
  • DATA_LENGTH - Размер данных
  • INDEX_LENGTH - Размер индексов
  • DATA_FREE - Количество свободных не фрагментированных байтов
  • TABLE_COLLATION - Кодировка таблицы
  • CREATE_TIME - Создание таблицы
  • UPDATE_TIME - Обновление
  • CHECK_TIME - Дата последней проверки

§ Синтаксис функции GROUP_CONCAT

GROUP_CONCAT([DISTINCT] expr [,expr ...]
             [ORDER BY {unsigned_integer | col_name | expr}
                 [ASC | DESC] [,col_name ...]]
             [SEPARATOR str_val])
21 июн, 2020
© 2007-2022 Жесть в том, что Алиса закусывает кроссом