Работа с базой данных MySQL

База данных


--подсоединение к MySQL
mysql -u nameUser;

--подсоединение к MySQL с паролем
mysql -u nameUser -p;

--список баз данных
SHOW DATABASES;

-- создание базы данных
CREATE DATABASE db_name;

-- подключение к базе данных
USE db_name;

Таблицы


-- cписок таблиц
SHOW TABLES;

-- создание таблицы
CREATE TABLE table_name2 (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
slug VARCHAR(255) NOT NULL UNIQUE,
publish BOOLEAN NOT NULL DEFAULT TRUE,
created TIMESTAMP
);

-- удаление таблицы
DROP TABLE table_name;

-- заполнение таблицы
INSERT INTO table_name (title,slug) VAlUES ('Вставка', 'vstavka');

--получить все данные из таблицы
SELECT * FROM table_name;

--получить все данные из таблице и сортировтаь их по slug
SELECT * FROM table_name ORDER BY slug ASC;

--получить только первые две записи
SELECT * FROM table_name LIMIT 2;

--получить все данные из таблицы где title Вставка
SELECT * FROM table_name WHERE title = 'Вставка';

--Изменить значение title в записи с id 1
UPDATE table_name SET title = 'Вставка изменена id 1' WHERE id = '1';

Пользователи


-- список пользователей
select user, host, password from mysql.user;

--создать нового пользователя
CREATE USER 'newuser' @ 'localhost' IDENTIFIED BY 'password';

--выдать пользователю права на все базы
GRANT ALL PRIVILEGES ON * . * TO 'newuser' @ 'localhost';

--выдать пользователю права на базу
GRANT ALL PRIVILEGES ON nameBase. * TO 'newuser' @ 'localhost';

--Обновить права доступа
FLUSH PRIVILEGES;

Резервное копирование, восстановление


--бэкап бд
mysqldump -u root -p --default-character-set=utf8 db_name > /path_/db_name.sql

--Востановление бд
mysql -u root -p db_name < db_name.sql

--бэкап всех бд
mysqldump -u root -p --default-character-set=utf8 --all-databases > alldb.sql