Основные команды MYSQL
Основные команды
SHOW DATABASES; - список баз данных
SHOW TABLES [FROM db_name]; - список таблиц в базе
SHOW COLUMNS FROM таблица [FROM db_name]; - список столбцов в таблице
SHOW CREATE TABLE table_name; - показать структуру таблицы в формате "CREATE TABLE"
SHOW INDEX FROM tbl_name; - список индексов
SHOW GRANTS FOR user [FROM db_name]; - привилегии для пользователя.
SHOW VARIABLES; **- значения системных переменных
SHOW [FULL] PROCESSLIST;** - статистика по mysqld процессам
SHOW STATUS; - общая статистика
SHOW TABLE STATUS [FROM db_name]; - статистика по всем таблицам в базе
DESCRIBE - посмотреть структуру таблицы
Создание базы данных и пользователя
CREATE DATABASE db_name CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON db_name.* TO 'db_user'@'localhost' IDENTIFIED BY 'db_password';
FLUSH PRIVILEGES;
Создание пользователя
CREATE USER 'db_user'@'localhost' IDENTIFIED BY 'password';
Добавление доступа для существующего пользователя
GRANT ALL PRIVILEGES ON some_db.* to 'db_user'@'localhost';
Просмотр данных
SELECT * FROM mysql;
SELECT name, type
FROM mydb
WHERE
name <> 'my_name' AND
type = 'int';
Просмотр данных плюс сортировка по имени
SELECT name FROM my_table ORDER BY name;
Просмотр данных плюс сортировка по имени и удаление дубликатов
SELECT DISTINCT project FROM staff ORDER BY project;
SQL функции для позволяет вычисления информации.
- COUNT - вычисляет количество найденных строк
- SUM - находит сумму значений в найденных строках
- MAX - находит наибольшее среди найденных значений
- MIN - находит наименьшее среди найденных значений
- AVG - находит среднее значение от найденных
SELECT COUNT (project) FROM mytable;
SELECT MAX (project) FROM mytable;
SELECT AVG (project) FROM mytable;
Использование регулярных выражений
SELECT name FROM mytable WHERE name LIKE 'Jo%n';
SELECT x.name, x.project, x.description
FROM staff x, projects x
WHERE
x.project = x.project_name;
Редактирование данных
Вставка данных
INSERT INTO mytable VALUES ("ALex", "1986-02-07");
INSERT INTO mytable(name, birth) VALUES ("ALex", "1986-02-07");
Изменение данных
UPDATE mytable SET birth = "2000-02-07" WHERE name = "Alex";
Удаление данных
DELETE FROM mytable WHERE name = "Alex";
Изменить пароль
Поменять свой пароль
SET PASSWORD = PASSWORD('пароль')
Поменять пароль определенного пользователя:
SET PASSWORD FOR user@localhost = PASSWORD('user_pass');
SET PASSWORD FOR user@"%" = PASSWORD('user_pass');
# or
UPDATE mysql.user SET Password=PASSWORD('user_pass') WHERE User='user' AND Host='localhost';
FLUSH PRIVILEGES;
# or
GRANT USAGE ON db_name.* TO user@localhost IDENTIFIED BY 'user_pass';
# or
mysqladmin -u userpassword user_pass
Убить рабочие процессы
mysql> SHOW PROCESSLIST;
mysql> kill <proc num>;
если используется aws rds
CALL mysql.rds_kill(<proc num>);
Mysql Repair
Add to my.cnf
innodb_force_recovery=6
and run
$ mysqlcheck --auto-repair -A -u root -proot
Mysql commands
Create database
**
CREATE DATABASE <Имя базы данных>
CHARACTER SET <Имя кодировки>
COLLATE <Имя правила сравнения>;
**
CREATE DATABASE SalesDept
CHARACTER SET cp1251 COLLATE cp1251_general_ci;
Чтобы просмотреть список используемых в MySQL кодировок,
выполним команду SHOW CHARACTER SET; а чтобы увидеть список
правил сравнения символьных значений – команду SHOW COLLATION;.
SHOW
COLLATION LIKE %1251 %;
Изменить кодировку и/или правило сравнения символьных значений для базы данных
вы можете с помощью команды
ALTER DATABASE <Имя базы данных>
CHARACTER SET <Имя кодировки>
COLLATE <Имя правила сравнения>;
При этом кодировка, используемая в уже существующих таблицах базы данных, оста-
ется прежней; меняется только кодировка, назначаемая по умолчанию для вновь создавае-
мых таблиц.
Удалить базу
DROP DATABASE <Имя базы данных>;
Чтобы увидеть список всех баз, существующих на данном сервере MySQL, выполните команду
SHOW DATABASES;
Работа с таблицами
Создание таблицы
CREATE TABLE <Имя таблицы>
(<Имя столбца 1> <Тип столбца 1> [<Свойства столбца 1>],
<Имя столбца 2> <Тип столбца 2> [<Свойства столбца 2>],
...
[<Информация о ключевых столбцах и индексах>])
[<Опциональные свойства таблицы>];
CREATE TABLE Customers
(id SERIAL,
name VARCHAR(100),
phone VARCHAR(20),
address VARCHAR(150),
rating INT,
PRIMARY KEY (id))
ENGINE InnoDB CHARACTER SET utf8;