Сервер баз данных MySQL является самым популярным решением для хранения больших объемов информации, использующийся в веб проектах. MySQL также — реляционная система управления базами данных с простым синтаксисом и большими возможностями.
Пакет располагает оптимизатором запросов, преобразующим введенные администратором команды и определяющие каким образом их рациональнее и быстрее выполнить. Указывать как именно обрабатывать запросы не требуется, администратор просто формирует инструкции.
MySQL — проект с открытым исходным кодом и обширной документацией. Чаще всего используется с PHP.
Данный материал является вводным к циклу статей по MySQL. В цикле будет разобран синтаксис и правила формирования запросов, сложности хватит для решения 95% задач при работе с сервером баз данных. Цикл рассчитан на начинающих пользователей.
Базовые команды MySQL
Для демонстраций в этом материале и во всех последующих используется MariaDB. Это другой пакет от разработчика MySQL с некоторыми дополнениями. Синтаксис и принципы работы, тем не менее, полностью идентичны.
После того как пакет mysql-server (или MariaDB) установлен можно начинать с ним работать.
Доступна справка по работе:
mysql --help
Все команды выполняются в консоли сервера баз данных, в нее можно попасть так:
mysql -h host -u root -p
Enter password: ********
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 45878189
Server version: 5.5.57-MariaDB-1~wheezy mariadb.org binary distribution
Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Ключом -h задается хост, -u — имя пользователя MySQL, -p — пароль.
После ввода корректного пароля пользователя root (или другого) открывается консоль. Сервер базы данных MySQL готов принимать команды
MariaDB [(none)]>
В ней выполняются все команды если работа идет не через скрипт и не через mysqladmin, он будет рассмотрен позже.
Введя QUIT можно вернуться в консоль сервера
MariaDB [(none)]> QUIT
Bye
Общие запросы к MySQL
Самыми простыми запросами являются те, которые выводят информацию о текущем состоянии сервера баз данных MySQL и системы. В частности можно вывести версию MariaDB и дату выполнения запроса.
Можно выполнять запросы по отдельности или объединив их в один:
MariaDB [(none)]> SELECT VERSION(), CURRENT_DATE;
+————————-+—————+
| VERSION() | CURRENT_DATE |
+————————-+—————+
| 5.5.57-MariaDB-1~wheezy | 2017-11-21 |
+————————-+—————+
1 row in set (0.00 sec)
Или выполнять 2 запроса последовательно разделяя их точкой с запятой
MariaDB [(none)]> SELECT VERSION(); SELECT NOW();
+————————-+
| VERSION() |
+————————-+
| 5.5.57-MariaDB-1~wheezy |
+————————-+
1 row in set (0.01 sec)
+———————+
| NOW() |
+———————+
| 2017-11-21 19:45:09 |
+———————+
1 row in set (0.00 sec)
Можно использовать сервер MySQL для выполнения вычислений:
MariaDB [(none)]> SELECT SIN(2*PI()/3), 14^((11+67)*5), 2/0;
+———————+—————-+——+
| SIN(2*PI()/3) | 14^((11+67)*5) | 2/0 |
+———————+—————-+——+
| 0.8660254037844387 | 392 | NULL |
+———————+—————-+——+
1 row in set (0.00 sec)
В дальнейшем для демонстрации всех запросов будут использоваться 2 таблицы: таблица с данными об объектах недвижимости и таблица с данными потенциальных арендаторов.
Ниже начальные данные, обе таблицы будут дополняться и корректироваться (также будут добавлены новые поля). В следующем материале цикла данные, помещенные в текстовые документы будут загружены в таблицы MySQL.
Таблица 'REAL_ESTATE'
Appartment Yekaterinburg 44 Akademicheskiy Shaumana Rent 15000
Appartment Moskow 56 Center Tverskaya Rent 50000
House Tver 130 Leninskiy Zelenaya ми Sale 250000
Appartment Novosibirsk 33 Oktabriskiy Belinskogo Rent 17000
Appartment Kemerovo 52 Center Lenina Rent 19000
Appartment Moskow 42 Himki Bolshaya Rent 18000
Appartment Yekaterinburg 44 Akademicheskiy Malysheva Rent 15000
Appartment Niznevartovsk 48 GGM Chernoistochinskoye Rent 15000
Appartment Sochi 44 Primorskiy Roz Rent 15000
House Sankt-Peterburg 144 Lisiy-nos Kutuzova Rent 24000
Appartment Moskow 36 Hamovniki Sportivnaya Rent 15000
Appartment Novosibirsk 46 Center Frunze Rent 17000
Appartment Krasnodar 44 Leninskiy Atamannaya Rent 15000
Таблица 'PEOPLE'
Alexandr ElectriacalEngineer 28 Moskow Center Rent 50000
Katerina Student 18 Yekaterinburg Akademicheskiy Rent 15000
Viktor Sysadmin 29 Moskow Center Rent 45000
Boris Enterpreneer 27 Novosibirsk Center Rent 16000
Olga Manager 18 Moskow Center Rent 50000
Nikolay Actor 24 Sankt-Peterburg Primorskiy Rent 25000
Sergey Sales 22 Krasnodar Atamannaya Rent 17000
Продолжение в статье MySQL: начало работы