Skip to content

Шпаргалка по командам MySQL

MySQL — самая популярная в мире реляционная система управления базами данных с открытым исходным кодом. В этой шпаргалке собраны наиболее часто используемые команды SQL для повседневной разработки и обслуживания баз данных.

Подключение и управление

Команда Описание Пример
mysql -u root -p Подключиться к базе данных от имени пользователя root mysql -u root -p
exit / quit Выйти из командной строки MySQL exit
show databases; Список всех баз данных show databases;
use <db_name>; Переключиться на указанную базу данных use my_app;
status; Просмотр информации о состоянии текущего соединения status;

Операции с базами данных и таблицами (DDL)

Команда Описание Пример
create database <name>; Создать новую базу данных create database test_db;
drop database <name>; Удалить базу данных drop database test_db;
show tables; Список всех таблиц в текущей БД show tables;
create table <table> (...); Создать новую таблицу create table users (id int, name varchar(20));
describe <table>; Просмотр структуры таблицы describe users;
alter table <table> add <col>; Добавить новый столбец alter table users add email varchar(50);
drop table <table>; Удалить таблицу drop table users;

Операции с данными (DML)

// Вставка данных

insert into users (name, age) values ('Alice', 25), ('Bob', 30);

// Запрос данных

select * from users where age > 20 order by id desc limit 10;
select count(*) from users;

// Обновление данных

update users set age = 26 where name = 'Alice';

// Удаление данных

delete from users where id = 10;
truncate table users; -- Очистить содержимое таблицы и сбросить автоинкремент ID

Запросы объединения (JOIN)

Type Описание
INNER JOIN Возвращает строки, имеющие совпадающие значения в обеих таблицах
LEFT JOIN Возвращает все строки из левой таблицы и совпадающие строки из правой
RIGHT JOIN Возвращает все строки из правой таблицы и совпадающие строки из левой
UNION Объединение результатов двух запросов (без дубликатов)

// Запрос на соединение таблиц

select u.name, o.id from users u 
inner join orders o on u.id = o.user_id;

Управление индексами

Команда Описание
create index <idx_name> on <table>(<col>); Создать обычный индекс
create unique index ... Создать уникальный индекс
show index from <table>; Показать индексы в таблице
drop index <idx_name> on <table>; Удалить индекс

Пользователи и права доступа (DCL)

Команда Описание
create user 'user'@'host' identified by 'pass'; Создать нового пользователя
grant all privileges on db.* to 'user'@'host'; Предоставить привилегии
revoke all on db.* from 'user'@'host'; Отозвать привилегии
drop user 'user'@'host'; Удалить пользователя
flush privileges; Обновить привилегии для вступления в силу