Список команд MySQL на каждый день

На данный момент MySQL является одной из самых распространённых и популярных систем управления базами данных в интернете. Для активных пользователей данной СУБД мы сформировали подборку самых необходимых и популярных команд MySQL, что поможет оптимизировать вашу работу в сети.

Начнём с базовых понятий программирования данной системе.
Комбинация mysql> в начале строки показывает, что задача осуществляется после входа в систему MySQL.
В то же время символ # или $ в начале строки указывает на происхождение сигнала из командной строки.

Для проверки статуса сервера MYSQL вам необходимо выполнить следующие операции:

для FreeBSD:

[root@linux-in]  # service mysql-server status

в Linux CentOS / RHEL:

root@linux-in:~ # service mysql status

Подключение к серверу MySQL из консоли, если сервер находится на том же хосте осуществляется с помощью:

[root@linux-in] $ mysql -u username -p

Если же вам необходимо подсоединиться к серверу из консоли, при этом он расположен на удаленном хосте, вам поможет следующая операция:

[root@linux-in] $ mysql -u username -p -h db1.test.com

Безусловно, администрирование баз данных предусматривает управление таблицами, включая просмотр, удаление и редактирование информации. Для решения таких задач несомненно лучшим помощником станет MySQL. Если вы решили доверить работу с вашими данными MySQL, вы на верном пути к успеху, так как MySQL отличается хорошей скоростью, надежностью и гибкостью.
Итак, с чего же стоит начать. Для того, чтобы создать базу данных на MySQL сервере, вам понадобится следующая команда:

user@localhost [(none)]> CREATE DATABASE [databasename];

Для просмотра перечня всех баз данных на сервере MySQL — вам понадобится

user@localhost [(none)]> SHOW DATABASES;

Если же Вам необходимо работать с конкретной базой данных – вам достаточно прописать следующую комбинацию:

user@localhost [(none)]> USE [db name];

Отображение всех таблиц вам обеспечит операция:

user@localhost [(none)]> SHOW TABLES;

Для просмотра формата таблицы в базе вам необходимо использовать:

user@localhost [(none)]> DESCRIBE [table name];

При необходимости удаления базы, воспользуйтесь командой:

user@localhost [(none)]> DROP DATABASE [database name];

Если же из базы необходимо удалить только таблицу – здесь вам поможет операция:

user@localhost [(none)]> DROP TABLE [table name];

Операции с таблицами при в процессе работы с базами данных MySQL является одной из ключевых операционных задач. Последующие комбинации посвящены непосредственно форматированию и обработке табличных данных.

При использовании комбинации user@localhost [(none)]> SELECT * FROM [table name] вы сможете просмотреть всё содержимое таблицы;
Если вы хотите поместить столбцы и их содержимое в выбранной таблице — пропишите:

user@localhost [(none)]> SHOW COLUMNS FROM [table name];

Если же вы хотите отразить строки в конкретной таблице, что содержат “what“:

user@localhost [(none)]> SELECT * FROM [table name] WHERE [field name] = "what";

Вам понадобилось поместить все данные, содержащие имя“Ted” и номер “5777 в конкретной таблице – не проблема:

user@localhost [(none)]> SELECT * FROM [table name] WHERE name = "Ted" AND phone_number = '5777';

А теперь попробуем сделать то же самое с данными, НЕ содержащими имя “Ted” и номер “5777“, отсортированные по полю phone_number:

user@localhost [(none)]> SELECT * FROM [table name] WHERE name != "Ted" AND phone_number = '5777' order by phone_number;

Следующим шагом покажите все записи, начинающиеся с ‘ted” и телефонного номера “5777” в определенной таблице используя следующие данные:

user@localhost [(none)]> SELECT * FROM [table name] WHERE name like "Ted%" AND phone_number = '5777';

Усложняем поставленную задачу и показываем все записи, начинающиеся с букв ‘ted” и телефонного номера “5777“, ставим при этом ограничения с первой до пятой строки:

user@localhost [(none)]> SELECT * FROM [table name] WHERE name like "Ted%" AND phone_number = '5777' limit 1,5;

Одной из часто используемых операций, при работе с базами данных является поиск записей. К примеру, используя фильтр регистра, возможно найти всё содержимое базы, содержащие начальную букву А:

user@localhost [(none)]> SELECT * FROM [table name] WHERE rec RLIKE "^a";

Чтобы отобразить все уникальные данные, вам понадобится следующая команда:

user@localhost [(none)]> SELECT DISTINCT [column name] FROM [table name];

Для выполнения сортировки по возрастанию или убыванию, обычно используют данную комбинацию:

user@localhost [(none)]> SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;

Для подсчёта количества строк и столбиков в таблице, вам понадобится следующее:

user@localhost [(none)]> SELECT COUNT(*) FROM [table name];
user@localhost [(none)]> SELECT SUM(*) FROM [table name];

Удаление колонки или строки осуществляется при помощи операций:

user@localhost [(none)]> ALTER TABLE [table name] DROP COLUMN [column name];
user@localhost [(none)]> DELETE from [table name] where [field name] = 'whatever';

Для создания нового столбца в БД, нужно применить:

user@localhost [(none)]> ALTER TABLE [table name] ADD COLUMN [new column name] varchar (20);

В случае его переименования воспользуйтесь следующими данными:

user@localhost [(none)]> ALTER TABLE [table name] CHANGE [old column name] [new column name] varchar (50);

При создании обширных баз данных, немаловажно соблюдать уникальность при наименовании рядов. Для того, чтобы избежать дублирования, достаточно применить данную функцию:

user@localhost [(none)]> ALTER TABLE [table name] ADD UNIQUE ([column name]);

Весьма удобной и часто применяемой является функция импорта файла CSV в табличную базу. Данную операцию позволит нам выполнить строка:

user@localhost [(none)]> LOAD DATA INFILE '/tmp/filename.csv' replace INTO TABLE [table name] FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n' (field1,field2,field3);

Создание пользователя и настройка пароля в MySQL является одной из основных и первоочередных задач.

Изначально пользователь root является администратором в MySQL. Для того, чтобы создать нового пользователя, необходимо прописать ряд команд, а именно: подключаемся серверу MySQL под root, подключаемся к базе данных, добавляем пользователя, обновляем привилегии, что сожно отразить следующим шифром:

[root@linux-in] # mysql -u root -p
user@localhost [(none)]> USE mysql;
user@localhost [(none)]> INSERT INTO user (Host,User,Password) VALUES('%','username', PASSWORD('password'));
user@localhost [(none)]> flush privileges;

Внести изменения в пароль пользователя из консоли на удаленном хосте вам поможет:

[root@linux-in] # mysqladmin -u username -h db1.example.org -p password 'new-password'

Для обновления root пароля вам понадобится нижеуказанная простая комбинация:

[root@linux-in] # mysqladmin -u root -p oldpassword newpassword

Неотъемлемой и немаловажной частью в процессе программирования является обновление привилегий в базе данных. Его мы осуществляем при помощи следующей команды:

user@localhost [(none)]> flush privileges;

Далее приведены часто встречающиеся комбинации, решающие типовые задачи в процессе использования баз данных.
Совместим команды, изменив пароль пользователя из консоли – прописываем подключение под root, обновление пароля, обновление привилегий:

user@localhost [(none)]> SET PASSWORD FOR 'user'@'hostname' = PASSWORD('passwordhere');
user@localhost [(none)]> flush privileges;

Для возобновления/коректировки пароля root сервера MySQL — вам понадобится далее приведённый ряд команд, отражающий остановку MySQL, запуск без таблиц привилегий, подключение под root, установку нового пароля, выход и перезапуск MySQL.

[root@linux-in] # service mysql stop
[root@linux-in] # mysqld_safe --skip-grant-tables &
[root@linux-in] # mysql -u root
user@localhost [(none)]> use mysql;
user@localhost [(none)]> update user set password=PASSWORD("newrootpassword") where User='root';
user@localhost [(none)]> ; flush privileges;
user@localhost [(none)]> quit
[root@linux-in] # service  mysql stop
[root@linux-in] # service  mysql start

Права на подключения к серверу пользователя с хоста localhost, используя пароль «pass» выполнете следующее — войдите из под root, переключение к базе данных, установка привилегий, обновление привилегий:

[root@linux-in] # mysql -u root -p
user@localhost [(none)]> use mysql;
user@localhost [(none)]> grant usage on *.* to bob@localhost identified by 'pass';
user@localhost [(none)]> flush privileges;

В случае необходимости присвоения пользователю привилегий на пользование БД — войдите из под root, переключитесь к базе данных, установите привилегии и обновите их:

user@localhost [(none)]> use mysql;
user@localhost [(none)]> ; INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ('%','databasename','username','Y','Y','Y','Y','Y','N');
user@localhost [(none)]> flush privileges;

или

user@localhost [(none)]> grant all privileges on databasename.* to username@localhost;
user@localhost [(none)]> flush privileges;

Одной из важнейших функций базы данных является возможность обновления её содержимого. С этой задачей вам помогут справиться следующие действия:

user@localhost [(none)]> UPDATE [table name] SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' where [field name] = 'user';

Стоит отметить, что не меннее важна функция резервного копирования и возможность восстановления данных. Создать резервную копию базы данных в конкретное место вам поможет простая комбинация:

[root@linux-in] # mysqldump -u root -p password --opt >/tmp/alldatabases.sql

Рассмотрим на примере.
Резервное копирование базы данных(бекап) в файл производится с помощью:

[root@linux-in] # mysqldump -u username -p password --databases databasename >/tmp/datauser.sql

При создании резервной копии таблицы в файл применяем:

[root@linux-in] # mysqldump -c -u username -p password datauser tablename > /tmp/datauser.tablename.sql

В случае необходимости восстановления базы данных из резервной копии вам на помощь придёт:

[root@linux-in] # mysql -u username -p password databasename < /tmp/databasename.sql

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

Comments

comments

Ваш e-mail не будет опубликован. Обязательные поля помечены *