Памятка по MySQL
Памятка MySQL (cheat sheet) содержит наиболее часто используемые команды и операторы MySQL, которые помогут вам более эффективно работать с MySQL.
Команды клиента командной строки MySQL
Подключитесь к серверу MySQL с помощью клиента командной строки mysql с именем пользователя и паролем (MySQL запросит пароль):
mysql -u [username] -p;
Подключитесь к серверу MySQL с указанной базой данных, используя имя пользователя и пароль:
mysql -u [username] -p [database];
Выйдите из клиента командной строки mysql:
exit;
Экспорт данных с помощью инструмента mysqldump
mysqldump -u [username] -p [database] > data_backup.sql;
Чтобы очистить окно экранной консоли MySQL в Linux, используйте следующую команду:
mysql> system clear;
В настоящее время в ОС Windows нет команды для очистки окна консоли экрана MySQL.
Работа с базами данных
Создать базу данных с указанным именем, если она не существует на сервере базы данных
CREATE DATABASE [IF NOT EXISTS] database_name;
Используйте базу данных или измените текущую базу данных на другую базу данных, с которой вы работаете:
USE database_name;
Удалить базу данных с указанным именем навсегда. Все физические файлы, связанные с базой данных, будут удалены.
DROP DATABASE [IF EXISTS] database_name;
Показать все доступные базы данных на текущем сервере баз данных MySQL
SHOW DATABASE;
Работа с таблицами
Показать все таблицы в текущей базе данных.
SHOW TABLES;
Создать новую таблицу
CREATE TABLE [IF NOT EXISTS] table_name( column_list );
Добавьте новый столбец в таблицу:
ALTER TABLE table ADD [COLUMN] column_name;
Удаление столбца из таблицы:
ALTER TABLE table_name DROP [COLUMN] column_name;
Добавить индекс с определенным именем в таблицу по столбцу:
ALTER TABLE table ADD INDEX [name](column, …);
Добавьте первичный ключ в таблицу:
ALTER TABLE table_name ADD PRIMARY KEY (column_name,…);
Удалить первичный ключ таблицы:
ALTER TABLE table_name DROP PRIMARY KEY;
Скиньте стол :
DROP TABLE [IF EXISTS] table_name;
Показать столбцы таблицы:
DESCRIBE table_name;
Показать информацию столбца в таблице:
DESCRIBE table_name column_name;
Работа с индексами
Создание индекса с указанным именем в таблице:
CREATE INDEX index_name ON table_name (column,…);
Удалить индекс :
DROP INDEX index_name;
Создайте уникальный индекс :
CREATE UNIQUE INDEX index_name ON table_name (column,…);
Работа с представлениями
Создайте новый вид:
CREATE VIEW [IF NOT EXISTS] view_name AS select_statement;
Создайте новое представление с помощью WITH CHECK OPTION:
CREATE VIEW [IF NOT EXISTS] view_name AS select_statement WITH CHECK OPTION;
Создайте или замените представление:
CREATE OR REPLACE view_name AS select_statement;
Скиньте просмотр:
DROP VIEW [IF EXISTS] view_name;
Удалить несколько просмотров:
DROP VIEW [IF EXISTS] view1, view2, …;
Переименовать вид:
RENAME TABLE view_name TO new_view_name;
Показать представления из базы данных:
SHOW FULL TABLES [{FROM | IN } database_name] WHERE table_type = 'VIEW';
Работа с триггерами
Создайте новый триггер:
CREATE TRIGGER trigger_name {BEFORE | AFTER} {INSERT | UPDATE| DELETE } ON table_name FOR EACH ROW trigger_body;
Сбросить триггер:
DROP TRIGGER [IF EXISTS] trigger_name;
Показать триггеры в базе данных:
SHOW TRIGGERS [{FROM | IN} database_name] [LIKE 'pattern' | WHERE search_condition];
Работа с хранимыми процедурами
Создайте хранимую процедуру:
DELIMITER $$ CREATE PROCEDURE procedure_name(parameter_list) BEGIN body; END $$ DELIMITER ;
Удалить хранимую процедуру:
DROP PROCEDURE [IF EXISTS] procedure_name;
Показать хранимые процедуры:
SHOW PROCEDURE STATUS [LIKE 'pattern' | WHERE search_condition];
Работа с сохраненными функциями
Создайте новую хранимую функцию:
DELIMITER $$ CREATE FUNCTION function_name(parameter_list) RETURNS datatype [NOT] DETERMINISTIC BEGIN -- statements END $$ DELIMITER ;
Удалить сохраненную функцию:
DROP FUNCTION [IF EXISTS] function_name;
Показать сохраненные функции:
SHOW FUNCTION STATUS [LIKE 'pattern' | WHERE search_condition];
Запрос данных из таблиц
Запросить все данные из таблицы:
SELECT * FROM table_name;
Запросить данные из одного или нескольких столбцов таблицы:
SELECT column1, column2, … FROM table_name;
Удалить повторяющиеся строки из результата запроса:
SELECT DISTINCT (column) FROM table_name;
Запросите данные с фильтром, используя WHEREпредложение:
SELECT select_list FROM table_name WHERE condition;
Измените вывод имени столбца, используя псевдоним столбца :
SELECT column1 AS alias_name, expression AS alias, … FROM table_name;
Запросите данные из нескольких таблиц, используя внутреннее соединение :
SELECT select_list FROM table1 INNER JOIN table2 ON condition;
Запросите данные из нескольких таблиц, используя левое соединение :
SELECT select_list FROM table1 LEFT JOIN table2 ON condition;
Запросите данные из нескольких таблиц, используя правое соединение :
SELECT select_list FROM table1 RIGHT JOIN table2 ON condition;
Сделайте декартово произведение строк:
SELECT select_list FROM table1 CROSS JOIN table2;
Подсчет строк в таблице.
SELECT COUNT(*) FROM table_name;
Сортировка набора результатов:
SELECT select_list FROM table_name ORDER BY column1 ASC [DESC], column2 ASC [DESC];
Сгруппируйте строки с помощью GROUP BY предложения.
SELECT select_list FROM table_name GROUP BY column_1, column_2, …;
Группа фильтров с помощью HAVINGпредложения:
SELECT select_list FROM table_name GROUP BY column1 HAVING condition;
Изменение данных в таблицах
Вставьте новую строку в таблицу:
INSERT INTO table_name(column_list) VALUES(value_list);
Вставьте несколько строк в таблицу:
INSERT INTO table_name(column_list) VALUES(value_list1), (value_list2), (value_list3), …;
Обновите все строки в таблице:
UPDATE table_name SET column1 = value1, …;
Обновите данные для набора строк, указанного условием в WHEREпредложении.
UPDATE table_name SET column_1 = value_1, … WHERE condition
Обновление с присоединением
UPDATE table1, table2 INNER JOIN table1 ON table1.column1 = table2.column2 SET column1 = value1, WHERE condition;
Удалить все строки в таблице
DELETE FROM table_name;
Удалить строки, заданные условием:
DELETE FROM table_name WHERE condition;
Удалить с присоединением
DELETE table1, table2 FROM table1 INNER JOIN table2 ON table1.column1 = table2.column2 WHERE condition;
Searching
Поиск данных с помощью LIKE оператора:
SELECT select_list FROM table_name WHERE column LIKE '%pattern%';
Текстовый поиск с использованием регулярного выражения с RLIKEоператором.
SELECT select_list FROM table_name WHERE column RLIKE 'regular_expression';