Эта статья познакомит вас с MySQL, показав, как создать и использовать простую команду данных с помощью клиента mysql. mysql (инструмент командной строки MySQL) — это интерактивный инструмент командной программы, который позволяет вам подключаться к базе данных MySQL, выполнять запросы и просматривать результаты запросов. mysql позволяет использовать пакетный режим: предварительно сохранить инструкции запроса в файле, а затем указать mysql выполнить содержимое файла. Оба метода использования mysql описаны в тексте.
Официальный документ оригинал MySQL 5.7 Справочное руководство
содержание
1. Установите и отключите соединения службы базы данных.
3. Создавать и использовать базы данных
3.1. Создайте и выберите базу данных
3.3, добавить данные в таблицу
4. Получить информацию о базе данных и таблицах
5. Используйте пакетный режим MySQL
6. Пример запроса командной строки
Иногда вам нужно проверить параметры, которые предоставляет нам mysql, просто используйте параметр --help, чтобы получить список параметров mysql.
shell> mysql --help
Перед официальным началом этой статьи вам необходимо убедиться, что mysql правильно установлен на вашем компьютере и может подключиться к службе MySQL.Если ваш ответ отрицательный, перейдите по ссылке:
1. Установите и отключите соединения службы базы данных.
Чтобы успешно подключиться к службе MySQL, вам обычно необходимо указать имя пользователя и пароль MySQL, а если служба MySQL не находится на хосте, на котором выполняется команда входа в систему, вам также необходимо указать имя удаленного хоста.
shell> mysql -h host -u user -p
Enter password: ******
хост и пользователь представляют имя хоста, на котором работает служба MySQL, и имя пользователя учетной записи MySQL.Когда mysql предложит вам ввести пароль, просто введите пароль.
Если предыдущий шаг сработал, вы увидите несколько подсказок и войдете в контекст mysql.
shell> mysql -h host -u user -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 25338 to server version: 5.7.21-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
mysql>prompt означает, что mysql готов для ввода операторов SQL.
Если вы войдете в систему с MySQL и запустите сервер MySQL на той же машине, вы можете опустить хост и упростить код:
shell> mysql -u user -p
Однако, если вы попытаетесь войти в систему, вы получите сообщение об ошибке, похожее на:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Это означает, что служба MySQL не запущена. перейти к Chapter 2, Installing and Upgrading MySQLПолучить помощь.
Если вы столкнулись с другими проблемами, перейдите кРаздел B.5.2, «Распространенные ошибки при использовании программ MySQL»Получить помощь.
Некоторые службы MySQL позволяют пользователям анонимно (без имени пользователя) подключаться к локально запущенным службам. Вы можете использовать следующие команды без каких-либо параметров:
shell> mysql
После того, как вы успешно установили соединение со службой MySQL, вы можете отключиться в любое время с помощью QUIT (или \q ):
mysql> QUIT
Bye
В системах Unix вы также можете отключиться, нажав Control+D.
В следующих примерах в этой статье предполагается, что вы уже подключены к службе MySQL.
2. Запрос
Убедитесь, что вы подключены к службе MySQL, ниже приведен запрос номера версии службы MySQL и текущих данных:
Для приведенного выше примера я поясняю следующее:
Оператор запроса состоит из оператора SQL, за которым следует точка с запятой (за некоторыми исключениями точка с запятой может быть опущена. Например, команда QUIT).
Когда вы инициируете оператор запроса, mysql отправляет его на сервер и выполняет его, затем отображает результат запроса, а затем печатает еще одно приглашение mysql>, указывающее, что вы можете продолжать вводить оператор запроса.
Результаты запроса mysql будут отображаться в виде таблицы (строки и столбцы). Первая строка содержит метки столбцов, а последующие строки — результаты запроса. Обычно метка столбца представляет собой имя поля в запрашиваемой таблице базы данных.
mysql показывает, сколько строк было запрошено, и время запроса. Эта информация дает вам предложения по улучшению производительности операторов запроса. Эти показатели производительности неточны, поскольку они отражают только время процесса (а не процессорное или машинное время), а на продолжительность этого процесса влияют такие факторы, как загрузка служб и задержка в сети.
Типизированные запросы нечувствительны к регистру, и следующие запросы эквивалентны.
mysql> SELECT VERSION(), CURRENT_DATE;
mysql> select version(), current_date;
mysql> SeLeCt vErSiOn(), current_DATE;
Ниже приведен еще один оператор запроса, который демонстрирует, что вы можете использовать mysql для выполнения простых вычислений:
До сих пор все операторы запроса были короткими однострочными операторами. Вы можете ввести несколько операторов запроса в одну строку. Просто поставьте точку с запятой после каждого утверждения:
Оператор запроса не всегда должен быть написан в одной строке, очень длинный оператор запроса требует переноса строк. mysql распознает точку с запятой как отдельный оператор запроса.Если mysql не распознает точку с запятой, оператор запроса не будет выполнен.
Ниже приводится многострочный оператор:
Обратите внимание, как в этом примере подсказка изменяется с mysql> на -> в первой строке многострочного кода. Этот отступ указывает на незавершенный оператор, ожидающий ввода пользователя. Этот совет — ваш друг, потому что он предоставляет удобный интерфейс обратного вызова. Если вы хотите использовать этот обратный вызов, вам нужно знать, что mysql ожидает от пользователя.
Если вы решите, что не хотите выполнять незавершенный оператор, пока не закончите его вводить, введите \c, чтобы отменить оператор.
В приведенной ниже форме перечислены все подсказки, которые вы увидите в mysql.
Иногда из-за того, что вы забыли поставить точку с запятой, случайно генерируются несколько строк, и здесь mysql будет ждать продолжения ввода:
Если это происходит и с вами, возможно, это связано с тем, что mysql ждет вашей точки с запятой. Вам нужно только немедленно ввести точку с запятой, чтобы закончить оператор выполнения, и mysql начнет выполнение оператора:
Подсказки '> и "> часто появляются из-за литералов набора символов (другими словами, MySQL ждет, пока вы закончите вводить строку), в MySQL вы можете использовать одинарные и двойные кавычки для переноса строк (например, «привет» или «до свидания»). "), а mysql позволяет вам записывать строку в несколько строк, когда вы видите подсказки '> и ">, это означает, что строка инструкций, которую вы только что ввели, содержит одинарные кавычки или строка, начинающаяся с двойной кавычки, но mysql не нашел пары одинарных или двойных кавычек, заканчивающихся концом. Это просто потому, что ты невнимателен.
Если вы введете запрос, затем нажмете Enter и дождетесь ответа от MySQL и обнаружите, что ничего не возвращается, вы удивитесь, почему запрос занимает так много времени, в этот момент вы должны обратить внимание на подсказку '>, которая указывает что mysql Ожидайте увидеть пары одинарных или двойных кавычек (у вас была похожая проблема? Строка «Смит отсутствует» в конце строки).
Вот что делать? Самый простой способ - завершить запрос, однако вы не можете использовать \c, как описано выше, поскольку mysql интерпретирует команду \c как часть строки, правильный способ - ввести закрывающие кавычки (например, mysql будет знать что вы завершили ввод строки), а затем введите \c, чтобы завершить запрос:
В это время приглашение снова становится mysql>, что означает, что mysql готов к вводу нового оператора запроса.
Различие между `> и '> и "> важно, потому что, если вы сделаете ошибку, не введя закрывающую кавычку, любая новая строка будет ждать, пока вы наберете закрывающую кавычку, а все другие специальные инструкции будут считаться частью строка вместо It игнорируется по своему первоначальному назначению (например, ввод QUIT также не будет иметь никакого эффекта).