MySQL

Сервер базы данных 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

Самыми простыми запросами являются те, которые выводят информацию о текущем состоянии сервера баз данных и системы. В частности можно вывести версию 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      Nizniy Tagil         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: начало работы