Подключение и запросы к MySQL через командную строку
Что бы подключится к базе данных нужно выполнить команду mysql с параметрами пользователь -u или --user и пароль -p или --password
mysql -u user_name -p
или
mysql --user=user_name --password
Если установлен пароль, то в следующей строке вводим пароль
Список наиболее распространенных команд
/*Посмотреть список исполняемых (зависших) sql запросов*/
SHOW processlist;
/*Убрать зависший sql запрос*/
KILL id_запроса;
/*Убрать все зависшие sql запросы выполняющиеся более 1000 секунд*/
SELECT CONCAT('KILL ',id,';') FROM information_schema.processlist WHERE time > 1000;
/*Вывести список баз данных*/
SHOW databases;
/*Выбрать базу данных*/
USE имя_базы_данных;
/*Вывести список таблиц*/
SHOW tables;
/* или если хотите вывести все таблицы во всех базах данных*/
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES ORDER BY TABLES.TABLE_NAME ASC
/*Вывести структуру таблицы*/
DESCRIBE имя_таблицы;
/*или*/
EXPLAIN имя_таблицы;
/*или*/
SHOW COLUMNS FROM имя_таблицы;
/*так же есть вариант получения sql версии структуры таблицы*/
SHOW CREATE TABLE имя_таблицы;
/*скопировать таблицу один в один*/
CREATE TABLE IF NOT EXISTS новое_имя_таблицы LIKE старое_имя_таблицы;
/*Перенести данные из одной таблицы в другую если их поля совпадают*/
INSERT имя_таблицы SELECT * FROM другая_таблица;
/*Перенести данные из одной таблицы в другую если их поля не совпадают или нужно перенести только не которые поля*/
INSERT имя_таблицы(поле1,поле2) SELECT поле3,поле4 FROM другая_таблица WHERE условие;
/*Вывести содержимое таблицы с условием*/
SELECT * FROM имя_таблицы WHERE условие;
/*Изменить значение в таблице*/
UPDATE имя_таблицы SET поле1 = значение_поля_1, поле2 = значение_поля_2 WHERE условие;
/*Вставить новую строку в таблицу*/
INSERT INTO имя_таблицы (поле1, поле2) VALUES (значение_поля_1, значение_поля_2);
/*импортирование из файла*/
LOAD DATA INFILE '/путь_к_файлу' INTO TABLE имя_таблицы (поле_1, поле_2);
/*экспорт в файл из консоли*/
SELECT * FROM 'имя_таблицы' INTO OUTFILE '/tmp/temp.csv';
Комментарии