Работа с сервером MySQL

В этом разделе мы поговорим о том, как работать с клиентской программой mysql, с помощью которой можно подсоединяться к MySQL-серверу, выполнять SQL-запросы и просматривать результаты этих запросов. Текст этого раздела рассчитан на то, что на вашем компьютере уже установлена утилита mysql и существует связь с сервером MySQL.

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

shell> mysql -h host -u user -p

После этого на экране появится запрос Enter password:, и вам нужно будет ввести свой пароль. Если соединение прошло нормально, то на экране появляется следующая информация и метка командной строки mysql>:

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 459 to server version:
Type 'help' for help.
mysql>

Появление метки mysql> означает, что программа mysql готова к работе.

Отсоединиться от сервера можно в любой момент, набрав команду QUIT:

mysql> QUIT
Bye
Кроме этого, разорвать соединение с сервером можно также, одновременно нажав клавиши +.

Замечание

Как правило, на только, что установленном MySQL на локальной машине доступ осуществляется без ввода пароля и хоста, вводом команды mysql в командной строке.

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

Ниже приведена простая команда, запрашивающая у сервера информацию об его версии и текущей дате:

mysql> SELECT VERSION(), CURRENT_DATE;

Ответом MySQL на этот запрос будет следующая таблица:

+--------------+--------------------+
| version() | current_date |
+--------------+--------------------+
1 row in set (0.02 sec)
На примере выполнения этого запроса можно увидеть следующие основные особенности работы с MySQL:
Команда, посылаемая серверу, обычно состоит из SQL-выражения, за которым следует точка с запятой. Из этого правила есть несколько
исключений, когда после команды точка с запятой не ставится, к примеру, уже упомянутая команда QUIT;
MySQL выводит результаты запроса в виде таблицы;
После вывода таблицы с результатами запроса, mysql сообщает количество возвращаемых строк и время выполнения запроса. Это удобно, поскольку позволяет оценить как производительность сервера, так и эффективность выполняемого запроса;
После вывода результатов запроса и времени его выполнения, mysql выводит новую строку mysql>, что означает готовность к выполнению новых команд.

Заметим, что команды MySQL не чувствительны к регистру, поэтому приведенные ниже запросы абсолютно идентичны:

mysql> select version(), current_date;
mysql> SELECT VERSION(), CURRENT_DATE;
mysql> Select Version(), Сurrent_DATE;

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

mysql> SELECT VERSION(); SELECT NOW();

На такой запрос мы получим следующий результат:

+---------------+
| version() |
+---------------+
| 4.0.13-nt |
+---------------+
1 row in set (0.00 sec)
+----------------------------------+
| NOW() |
+----------------------------------+
| 2004-01-25 16:57:00 |
+----------------------------------+
1 row in set (0.03 sec)

Однако помещать все команды на одной строке совершенно необязательно:

mysql> SELECT USER(),
-> CURRENT_DATE;

И вот результат:

+----------------------------+---------------------+
| user() | current_date |
+----------------------------+---------------------+
| ODBC@localhost | 2004-01-25 |
+----------------------------+---------------------+
1 row in set (0.00 sec)

Заметьте, что после того, как мы перешли на новую строку, метка командной строки изменилась с mysql> на ->. Таким образом mysql показывает, что завершенного запроса не получено и она ожидает конца запроса. Эта метка весьма полезна, так как позволяет избежать некоторых ошибок. К примеру, если вы забудете поставить точку с запятой в конце запроса, mysql сообщит вам об этом, выведя метку ->:

mysql> select user()

-> В завершение этого раздела, продемонстрируем, как можно использовать MySQL в качестве простого калькулятора, введя, к примеру, такой запрос:

mysql> select cos(pi()/10), (2*5)-5;

<<< - Предыдущая | Cледующая ->>>