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 возможны после процедур или пакетных запросов.
Пример проверки соединения:
SELECT VERSION();
SHOW DATABASES;
Управление базами данных (DDL + метаданные)
Создание базы
Через интерфейс
- Вкладка Базы данных (главная) или Создать базу данных.
- Имя, кодировка (utf8mb4 / utf8mb4_unicode_ci для новых проектов).
- Подтвердить создание.
Через 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
Создание таблицы
Мастер (визуально)
- База → Создать таблицу.
- Имя, число столбцов.
- Для каждого столбца: имя, тип (
INT,VARCHAR,TEXT,DATETIME…), длина,NULL/NOT NULL, значение по умолчанию, индексы, первичный ключ. - Движок (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 сбрасывает таблицу быстро и часто сбрасывает AUTO_INCREMENT; DELETE без WHERE удалит все строки, но с возможностью отката в транзакции InnoDB. На проде перед массовым удалением — резервная копия.Сводка DDL и DML в phpMyAdmin
| Категория | Команды / действия | Где в UI |
|---|---|---|
| DDL | CREATE/ALTER/DROP DATABASE, TABLE, INDEX, VIEW | Базы данных, Структура, SQL |
| DML | SELECT, INSERT, UPDATE, DELETE | Обзор, Вставить, SQL |
| DCL | GRANT, REVOKE | Учётные записи, привилегии |
| Транзакции | START TRANSACTION, COMMIT, ROLLBACK | SQL (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 — дампы, лимиты файлов, типичные ошибки входа и загрузки.
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Веб-интерфейс на PHP для MySQL и MariaDB: архитектура браузер → веб-сервер → PHP → СУБД, стеки XAMPP, Open Server, Docker. PHP 7.2.5+, MySQL 5.5+ и MariaDB 5.5+, config.inc.php, mysqli, режимы аутентификации и первое соединение с сервером БД. Дампы SQL и CSV, UploadDir и TempDir, pmadb, пользователи MySQL, безопасность установки и ответы из официального FAQ. От MySQL-Webadmin и WebDB до phpMyAdmin 5.x и phpPgAdmin 7.x — общие корни, развилки по СУБД, эпохи PHP и роль pgAdmin.phpMyAdmin — что это и где встретить
phpMyAdmin — требования, установка и подключение
phpMyAdmin — импорт, экспорт, настройка и FAQ
История phpMyAdmin, phpPgAdmin и веб-админок БД на PHP