Перейти к основному содержимому

phpMyAdmin — SQL, DDL и DML

Разработчику

phpMyAdmin дублирует то, что вы делаете в mysql-клиенте или в коде через PDO, но через веб-формы и редактор SQL. Полезно понимать разделение DDL (структура) и DML (данные) — те же категории команд, что в разделе SQL.


Где выполнять SQL

МестоОбласть действияКак открыть
Вкладка SQL на главнойЛюбые запросы к серверуВерхнее меню после входа
Вкладка SQL у базыЗапросы в контексте БД (можно не писать USE)Выбрать базу слева → SQL
Вкладка SQL у таблицыЗапросы к таблицеТаблица → SQL
КонсольБыстрые запросы без смены страницыКнопка внизу или клавиша k

В поле ввода можно:

  • выполнить один или несколько запросов подряд (batch);
  • сохранить текст в закладку (нужен pmadb);
  • просмотреть историю сеанса (и долговременную — при pmadb).

Результат SELECT показывается таблицей с постраничной навигацией. Несколько result set возможны после процедур или пакетных запросов.

Консоль
В настройках консоли можно включить выполнение по Enter (вместо Ctrl+Enter). Многострочный запрос — Shift+Enter.

Пример проверки соединения:

SELECT VERSION();
SHOW DATABASES;

Управление базами данных (DDL + метаданные)

Создание базы

Через интерфейс

  1. Вкладка Базы данных (главная) или Создать базу данных.
  2. Имя, кодировка (utf8mb4 / utf8mb4_unicode_ci для новых проектов).
  3. Подтвердить создание.

Через SQL (DDL)

CREATE DATABASE shop
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

Операции с существующей базой

ДействиеИнтерфейсSQL (примеры)
Просмотр списка таблицСтруктура базыSHOW TABLES;
ПереименованиеОперации с БДRENAME через создание копии / спец. инструменты
УдалениеУдалить базуDROP DATABASE shop;
ПраваПривилегииGRANT, REVOKE
ОбслуживаниеОперацииCHECK, OPTIMIZE, REPAIR (зависит от движка)

Удаление базы безвозвратно уничтожает все таблицы внутри — перед DROP делайте экспорт.


Таблицы — DDL

Создание таблицы

Мастер (визуально)

  1. База → Создать таблицу.
  2. Имя, число столбцов.
  3. Для каждого столбца: имя, тип (INT, VARCHAR, TEXT, DATETIME…), длина, NULL / NOT NULL, значение по умолчанию, индексы, первичный ключ.
  4. Движок (InnoDB — по умолчанию для транзакций и внешних ключей; MyISAM — устаревающий выбор).

Вкладка «Структура» → SQL или общая вкладка SQL:

CREATE TABLE users (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
email VARCHAR(255) NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uk_users_email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Изменение структуры (DDL)

ЗадачаИнтерфейсSQL
Добавить столбецСтруктура → ДобавитьALTER TABLE ... ADD COLUMN ...
Изменить типИзменитьALTER TABLE ... MODIFY COLUMN ...
Удалить столбецУдалитьALTER TABLE ... DROP COLUMN ...
ИндексыИндексыADD INDEX, DROP INDEX
Внешние ключи (InnoDB)СвязиADD CONSTRAINT ... FOREIGN KEY ...
Переименовать таблицуОперацииRENAME TABLE old TO new;
Удалить таблицуУдалитьDROP TABLE users;

Просмотр CREATE TABLE — вкладка Структура → подраздел «Создание таблицы» (показать DDL).

Представления, процедуры, триггеры

На уровне базы доступны вкладки Процедуры, События, Триггеры (при поддержке сервера и правах). Операции: создать, изменить, вызвать, экспортировать, удалить — дублируют соответствующий DDL/DML в SQL.


Данные в таблицах — DML

Просмотр

Вкладка Обзор (Browse) — постраничный вывод строк, сортировка по столбцу, фильтр (поиск по таблице — t + f).

Вставка

СпособКогда использовать
Вставить (Insert)Одна строка, форма по столбцам
SQLМассовая вставка, копирование из скрипта
INSERT INTO users (email) VALUES ('user@example.com');

Изменение

  • Изменить (Edit) на строке в обзоре — правка полей в форме.
  • Или UPDATE во вкладке SQL:
UPDATE users SET email = 'new@example.com' WHERE id = 1;

Удаление

  • Галочки строк → Удалить в обзоре.
  • Или:
DELETE FROM users WHERE id = 1;

Очистка всей таблицы без удаления структуры:

TRUNCATE TABLE users;

TRUNCATE и DELETE
TRUNCATE сбрасывает таблицу быстро и часто сбрасывает AUTO_INCREMENT; DELETE без WHERE удалит все строки, но с возможностью отката в транзакции InnoDB. На проде перед массовым удалением — резервная копия.


Сводка DDL и DML в phpMyAdmin

КатегорияКоманды / действияГде в UI
DDLCREATE/ALTER/DROP DATABASE, TABLE, INDEX, VIEWБазы данных, Структура, SQL
DMLSELECT, INSERT, UPDATE, DELETEОбзор, Вставить, SQL
DCLGRANT, REVOKEУчётные записи, привилегии
ТранзакцииSTART TRANSACTION, COMMIT, ROLLBACKSQL (InnoDB)

Query-by-example (QBE)

Вкладка QBE строит SELECT визуально: выбираются таблицы, поля, условия; phpMyAdmin может автоматически соединить таблицы по настроенным связям (InnoDB FK или внутренние связи pmadb для MyISAM). Готовый запрос отправляется на выполнение или копируется в редактор.


Designer и целостность

Designer — графическая схема таблиц и связей; координаты хранятся в pmadb (pma__table_coords). Экспорт в PDF — документация структуры.

Для MyISAM доступна проверка ссылочной целостности по метаданным phpMyAdmin; для InnoDB ограничения enforced на уровне СУБД.


Связь с PHP-кодом

То же, что вы настраиваете в phpMyAdmin (база, пользователь, таблица), используется в приложении:

$dsn = 'mysql:host=127.0.0.1;port=3306;dbname=shop;charset=utf8mb4';
$pdo = new PDO($dsn, 'app_user', 'secret', [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]);

См. PDO и форма → БД. phpMyAdmin удобен для прототипирования схемы; в проде миграции чаще ведут через фреймворк (Laravel, Symfony), а не только ручной DDL в UI.


Следующий шаг

Импорт, экспорт, pmadb и FAQ — дампы, лимиты файлов, типичные ошибки входа и загрузки.


См. также

Другие статьи этого же раздела в боковом меню (как на странице "О разделе").