MySQL запросы — как единственно верный способ вывода данных
Как только человек начинает работать с множеством данных, возникает необходимость их каким-либо образом упорядочивать и архивировать, поэтому рано, или поздно приходит мысль о создании такого виртуального архива, как база данных, в которой и будет храниться вся необходимая информация. Тогда можно прибегнуть, к примеру, к такой программе, как Microsoft Access .
Создав в ней базу данных, кажется, что дело уже сделано, но уже совсем скоро появится необходимость, которую диктует современная жизнь — это возможность пользоваться всеми данными заключенными в базе через интернет с других компьютеров.
MySQL представляет собой наиболее популярную и распространенную СУБД для сети интернет. Данная СУБД не предназначена для того, чтобы работать с большим количеством информации, но ее возможности позволяют справляться со всеми задачами, необходимыми для работы интернет сайтов как скромных, так и ресурсов приличных размеров.
Чтобы обращаться и собственно работать с БД MySQL существуют определенные команды, которые обычно обозначают как запросы MySQL . Именно с помощью запросов можно выполнять такие манипуляции с базой как удаление, сортировка, изменение, добавление, получение и т.д.
Какими бывают MySQL запросы?
Все существующие команды MySQL можно разделить на простые или легкие для понимания и запоминания и сложные запросы.
Простые запросы MySQL — это команды, для исполнения которых достаточно одной таблицы, так как они производят манипуляции только с одной таблицей из базы.
Сложные запросы MySQL — это команды, которые могут затрагивать одновременно две или даже больше таблиц из одной базы данных.
Чтобы более детально разобраться, в чем же заключается различия между запросами — давайте рассмотрим каждый вид команд по отдельности.
Простые MySQL запросы
Существует два запроса, которые можно назвать максимально или супер простыми.
« Show databases; » — данный запрос выведет на экран список всех имеющихся баз данных.
« Show tables in bd; » — данная команда позволит узнать количество и наименования всех таблиц, которые есть в базе данных под названием bd .
Ну а теперь от супер простых запросов перейдем просто к простым.
Запросы MySQL типа Select
Зная значение слова select , можно понять, что все команды, связанные с данным словом, будут направлены на выбор и просмотр информации хранящейся только в одной таблице принадлежащей к базе.
« SELECT count(*) FROM cart; » — данный запрос позволит узнать, сколько записей содержится в упомянутой таблице:
Запрос « SELECT * FROM cart; » — позволит просмотреть все данные, которые имеются в таблице cart из базы данных:

« SELECT * FROM cart LIMIT 2,3; » — с помощью данного запроса можно выбрать блок данных и вывести его. В данном случае выбраны 3 записи на вывод, начиная со второй строчки. Такой запрос может быть очень полезен для создания блоков со страницами для навигации:

« SELECT * FROM people ORDER BY number; » — данная команда позволит вывести все поля таблицы под названием people в соответствии с полем number в порядке увеличения его значений:

« SELECT * FROM people ORDER BY number DESC; » — данный запрос позволяет выбрать все строки той же таблицы people , только упорядоченные не так как в предыдущем примере, а по убыванию:

« SELECT * FROM people ORDER BY number LIMIT 5; » — этот запрос выбирает из таблицы people только 5 строк, которые располагаются в соответствии с увеличением значения поля number :

« SELECT * FROM people WHERE name=’Anna’; » — данный запрос делает выборку полей таблицы people , в которых в роли значения поля name указана переменная Anna :

« SELECT * FROM people WHERE name LIKE ‘An% ‘;» — выводит только те поля таблицы people , в которых в полях под названием name начинается с букв An :

« SELECT * FROM people WHERE name LIKE ‘%na’ ORDER BY number ;» — запрос выводит данные таблицы people только тогда, когда значение поля name оканчивается буквами na , причем данные выводятся упорядоченными в соответствии с увеличением значения поля number :

« SELECT name, last_name FROM people; » — выводит на экран только данные таблицы people заключенные в полях last_name и name :

« SELECT DISTINCT site FROM cart; » — команда выводит только не повторяющиеся значения поля site из таблицы cart . К примеру, если таблица будет содержать только три значения sit.ru, sit.ru, wi-de.ru , то после работы данной команды будет выведено только два значения — sit.ru и wi-de.ru :

« SELECT * from people where age in (12,15,18); » — данный запрос выведет на экран только те данные из таблицы people , у которых в качестве значения поля под названием age будут указаны цифры 12, 15 или 18:

Запросы MySQL типа Insert
Данные виды запросов к базе данных позволяют вставить необходимую информацию в таблицу. То есть, посредством команд insert можно вставить в таблицу строку, добавив тем самым информацию к базе данных.
« INSERT into cart (sit, des) values (‘sit.ru’, ‘Sit-разработка сайтов’) » — данный запрос позволит вставить в таблицу базы под названием cart еще одну строку, у которой в поле sit будет значение sit.ru а в поле des значение Sit -разработка сайтов.
Запросы MySQL типа Update
Данный вид запросов занимается изменением данных уже имеющихся в базе.
« UPDATE cart set sit = ‘do.com’ where » — запрос изменит значение, записанное в поле sit таблицы cart , в строке, номер id которой равен 3, на значение do.com .
Запросы MySQL типа Delete
Запросы данного типа позволяют производить удаление записей таблицы, являющейся частью базы данных.
« DELETE from cart where » — данной командой удаляется вся информация из строки, id которой соответствует 3 в таблице cart .
Сложные запросы MySQL
Как уже было сказано ранее, сложный тип запросов — это запросы, которые способны одновременно задействовать две или даже больше двух таблиц в базе. Для того чтобы осознать принципы построения подобных команд рассмотрим хотя бы некоторые из них.
« SELECT DISTINCT name FROM people, address WHERE people.adress_no = ads.addr_no AND city LIKE ‘L%’; » — запрос сортирует и выводит все уникальные значения, записанные в поле name таблицы people , которые проживают по адресу с названием, начинающимся на букву L в соответствии со значением поля addr_no из таблицы баз под названием ads .
Данный запрос иначе может быть введен так:
« SELECT DISTINCT name FROM people p, ads a WHERE p.adress_no = a.addr_no AND city LIKE ‘L%’; ».
Оба этих запроса выведут на экран одно и то же. Если присмотреться, то подобные запросы не слишком то и сложны, главное точно знать наименование таблицы и через точку указать наименование поля, или же дать таблицам сокращенные имена для удобства и скорости ввода.
« SELECT her.char_name, her.cnt, char_temp.ClassName FROM char_temp, her WHERE char_temp.ClassId = her.class_id Order by char_temp.ClassName; » — Данный запрос позволяет вывести на экран данные из полей char_name , и cnt таблицы базы под названием her и поля ClassName из таблицы char_temp благодаря тому, что значения полей ClassId таблицы char_temp и class_id таблицы her имеют одинаковые идентификаторы. Данные выводятся в упорядоченном виде по полю ClassName таблицы char_temp .
В сокращенном виде данная команда будет выглядеть так: « SELECT char_name, cnt, ClassName FROM her left join char_temp on her.class_id=char_temp.ClassId; ».
Если суть построения команд для вас стала понятной, то вы без труда сможете составлять сложные запросы, используя не только команду SELECT , но и команды UPDATE, DELETE, INSERT и другие.
Вложенные запросы MySQL
Во время работы с таблицами баз данных, особенно в деле разработки сайтов, зачастую возникает необходимость работать с множеством различных таблиц, пользуясь сложными запросами, но в иных случаях такое использование запросов может быть крайне неудобно и даже чересчур сложно. Да и к тому же множество запросов может сделать сайт слишком медленным.
Именно для того, чтобы избежать таких проблем MySQL делает возможным включение одного запроса в состав другого. Такие двойные запросы называются вложенные запросы или подчиненные. В подобных запросах оператор SELECT , который располагается внутри запроса, заключается в круглые скобки.
Сначала выполняется запрос, который располагается в скобках, а затем с теми данными, которые этот запрос предоставил, работает главный запрос.
Рассмотрим на примере. Допустим, в нашей базе данных есть две таблицы. Первая таблица под названием Cat :

И вторая таблица под названием STR :

Наша задача заключается в том, чтобы с помощью вложенного запроса взять данные обеих таблиц и в итоге вывести на экран информацию о том, к какому имени раздела, сколько статей относиться.
Выглядеть данный запрос будет следующим образом: « SELECT (SELECT COUNT(*) FROM `STR` WHERE STR.category_id = cat.id) as `count`, cat.name FROM cat/ ».
Первым будет выполняться запрос в скобках ( SELECT COUNT(*) FROM ` STR ` WHERE STR.category_id = cat.id ), который предоставит информацию обо всех категориях, а в нем уже сделаем выборку для того, чтобы вычислить количество страниц, предназначенных для указанных категорий, посредством запроса « SELECT (*) as `count`, cat.name FROM cat ».
Быстрота вывода результатов запроса
Для того чтобы однотипные запросы к базе данных выполнялись быстрее, возникла необходимость в том, чтобы производить кэширование MySQL запросов.
Данный процесс позволяет пред выполнением того или иного запроса проверить наличие его результата в кэше, и если данные результаты есть, вывести их, не выполняя мероприятия по выполнению полученного запроса.
Если же данных в кэше не обнаружено, тогда запрос выполняется, и его результаты записываются, чтобы при следующем подобном запросе не задействовать механизмы его выполнения. Таким образом, время отклика сервера значительно сокращается и сервер не перегружается даже в случае огромного количества однотипных запросов.
PHP и MySQL
СУБД MySQL — это одна из множества баз данных, поддерживаемая языком программирования PHP . Запросы к MySQL во время создания веб-страниц это обычное дело, потому что основная информация как раз таки и хранится в таблицах базы данных и чтобы вывести ее на экран, необходимы PHP запросы к MySQL .
Для того чтобы работать с MySQL в документах PHP предусмотрен специализированный алгоритм действий:
- Установка соединения с базой данных при помощи команды mysql_connect();
- Выбор необходимой базы данных командой mysql_select_db();
- PHP запросы к MySQL через команду mysql_query();
- Обработка результата запроса mysql_fetch_array();
- Закрытие соединения с базой данных или отключение от сервера БД mysql_close();
Из всего описанного можно понять, что работать с базами MySQL не так то и сложно, главное — суметь понять и правильно строить запросы к нужной информации.
Если вы освоите правила построения запросов MySQL , тогда ваш сайт будет работать гораздо быстрее, и даже в случае если его одновременно будут использовать множество пользователей, это не сможет существенно отразиться на скорости открытия страниц.
Как сделать запрос в mysql workbench
Одна из особенностей MySQL Query Browser — это возможность создавать запросы. Он позволяет Вам выбрать колонки и таблицы, которые Вам нужны для запроса из обозревателя баз данных и получить запрос, созданный автоматически, основываясь на Вашем выборе.
Первый шаг к созданию запроса — это выбрать таблицу, из которой запрашивать данные. Кликните и перетащите желаемую таблицу в область запросов для того, чтобы начать создавать запрос. Например, перемещая таблицу City в область запросов, выражение SELECT * FROM City C будет добавлено в область для запросов. Вы так же можете дважды кликнуть на таблице чтобы начать новый SELECT запрос.
Рисунок 5.1. Табличный Инструмент

Когда Вы выбираете таблицу из обозревателя баз данных и перетаскиваете ее над областью для запросов, появится табличный инструмент с некоторыми видами действий для запроса. Отпустите таблицу, которую Вы перетаскивали на желаемое действие и запрос соответственно модифицируется. Доступны следующие действия:
- SELECT заменяет текущее выражение выражением SELECT содержащим перетаскиваемую таблицу.
- Add Table добавляет перетаскиваемую таблицу в текущий SELECT запрос.
- JOIN Table : Если SELECT запрос уже в окне запросов с указанной таблицей, новая перемещаемая таблица будет добавлена в соответствующее условие WHERE чтобы выполнить JOIN запрос.
- LEFT OUTER JOIN подобен предыдущему, но создает LEFT OUTER JOIN вмbook JOIN запроса. s the same as the previous, but does a LEFT OUTER JOIN instead of a JOIN
- UPDATE замещает текущее выражение выражением UPDATE , содержащим перетаскиваемую таблицу.
- INSERT замещает текущее выражение выражением INSERT , содержащим перетаскиваемую таблицу.
- DELETE замещает текущее выражение выражением DELETE , содержащим перетаскиваемую таблицу.
Таблицы соединяются по идентично названным колонкам для таблиц MyISAM и Tables are joined based on identical column names for MyISAM tables and внешним ключам для таблиц InnoDB.
Когда выбрана таблица, Вы можете выбрать индивидуальный столбец для запроса; кликните на кнопке Select на панели кнопок для построения запроса. Указатель мыши изменится на указатель Select , который можно использовать для выбора колонок из обозревателя баз данных. Например, кликнув на полях Id, Name, и Country базы world , запрос будет собран как SELECT C.Id, C.Name, C.Country FROM City C После того, как таблица выбрана, Вы можете выбрать конкретную колонку для запроса; кликните на кнопке Select в ряду кнопок создания запросов. Указатель мыши изменится на указатель Select , которым Вы можете выбрать колонку из обозревателя баз данных. Например, кликните на полях Id, Name и Country базы примеров world , запрос SELECT C.Id, C.Name, C.Country FROM City C будет построен в области запросов.
После того, как Вы выбрали колонки для запроса, Вы можете использовать другие кнопки для завершения построения запроса с выражениями WHERE , GROUP BY , и ORDER BY . Когда новае секция запроса добавляется с помощью кнопок построения запросов, курсор в области запросов располагается в позиции для редактирования; если Вы кликните на поле указателем WHERE, то курсор встанет в позицию, где Вам нужно указать условие для оператора WHERE .
Вы можете переключаться между различнвми указателями построения запросов кликая на кнопках построения запросов в панели кнопок, или используя комбинацию клавиш Ctrl + Alt и первая буква указателя который Вы хотите использовать ( Ctrl + Alt + S для SELECT , Ctrl + Alt + W для WHERE , и так далее.)
Использование MySQL Workbench с База данных Azure для MySQL гибким сервером

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для MySQL — гибкий сервер
В этом кратком руководстве показано, как подключиться к База данных Azure для MySQL — гибкий сервер с помощью приложения MySQL Workbench.
Предварительные требования
В качестве отправной точки в этом кратком руководстве используются ресурсы, созданные в соответствии со следующими материалами:
- Создание гибкого сервера База данных Azure для MySQL с помощью портал Azure
- Создание гибкого сервера База данных Azure для MySQL с помощью Azure CLI
Подготовка клиентской рабочей станции
- Если вы создали гибкий сервер в режиме Закрытый доступ (интеграция с виртуальной сетью) , к этому серверу придется подключаться с другого ресурса в той же виртуальной сети. Например, можно создать виртуальную машину и добавить ее в виртуальную сеть, созданную для гибкого сервера. См. раздел Создание виртуальной сети База данных Azure для MySQL — гибкий сервер и управление ими с помощью Azure CLI.
- Если вы создали гибкий сервер в режиме Открытый доступ (разрешенные IP-адреса) , вы можете добавить локальный IP-адрес в список правил брандмауэра на этом сервере. См. раздел Создание правил брандмауэра База данных Azure для MySQL и управление ими с помощью Azure CLI.
- Скачайте и установите MySQL Workbench на свой компьютер с веб-сайта MySQL.
Получение сведений о подключении
Получите сведения о подключении, необходимые для подключения к гибкому серверу. Вам потребуется полное имя сервера и учетные данные для входа.
- Войдите на портал Azure.
- В меню слева на портале Azure выберите Все ресурсы и выполните поиск по имени созданного сервера (например, mydemoserver).
- Выберите имя сервера.
- Запишите имя сервера и имя для входа администратора сервера с панели сервера Обзор. Если вы забыли свой пароль, можно также сбросить пароль с помощью этой панели.
Подключение к серверу с помощью MySQL Workbench
Чтобы подключиться к гибкому серверу База данных Azure для MySQL с помощью MySQL Workbench, выполните приведенные ниже действия.
- Запустите приложение MySQL Workbench на своем компьютере.
- В диалоговом окне настройки нового подключения на вкладке Параметры введите следующие сведения:

Параметры Рекомендуемое значение Описание поля Имя подключения Пример подключения Укажите метку для этого подключения. Способ подключения Стандартный способ (по протоколу TCP/IP) Стандартный способ (по протоколу TCP/IP) соответствует требованиям. Имя узла имя сервера Укажите значение имени сервера, которое вы использовали ранее при создании базы данных Azure для MySQL. В нашем примере используется такое имя сервера: mydemoserver.mysql.database.azure.com. Используйте полное доменное имя (*.mysql.database.azure.com), как показано в примере. Выполните действия из предыдущего раздела, чтобы найти сведения для подключения, если вы не помните имя своего сервера. Порт 3306 Всегда используйте порт 3306 при подключении к базе данных Azure для MySQL. Имя пользователя имя для входа администратора сервера Введите имя администратора сервера, которое вы использовали ранее при создании базы данных Azure для MySQL. В нашем примере используется имя пользователя myadmin. Выполните действия из предыдущего раздела, чтобы найти сведения для подключения, если вы не помните имя пользователя. Пароль Ваш пароль. Нажмите кнопку Сохранить в хранилище. , чтобы сохранить пароль. - Выберите Проверить подключение , чтобы проверить, правильно ли настроены все параметры.
- Затем нажмите кнопку ОК, чтобы сохранить подключение.
- В списке подключений MySQL выберите плитку, соответствующую вашему серверу, и дождитесь установки подключения. Откроется новая вкладка SQL с пустым окном редактора, в котором можно вводить запросы.
Зашифрованное подключение с использованием TLS 1.2 является обязательным и применяется на База данных Azure для MySQL — гибкий сервер. Обычно для подключения MySQL Workbench к вашему серверу не требуется дополнительно настраивать сертификаты TLS/SSL, но мы рекомендуем привязать TLS/SSL-сертификат ЦС к MySQL Workbench. Дополнительные сведения см. в статье Подключение с использованием TLS или SSL.
Создание таблицы, добавление, считывание, обновление и удаление данных
- Скопируйте и вставьте пример кода SQL в пустую вкладку SQL для иллюстрации примера данных. Этот код создает пустую базу данных с именем quickstartdb, а затем создает пример таблицы с именем inventory. Он добавляет несколько строк, а затем считывает эти строки. Он изменяет данные с помощью инструкции update, а затем еще раз считывает строки. Наконец он удаляет одну строку и еще раз считывает строки.
-- Create a database -- DROP DATABASE IF EXISTS quickstartdb; CREATE DATABASE quickstartdb; USE quickstartdb; -- Create a table and insert rows DROP TABLE IF EXISTS inventory; CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER); INSERT INTO inventory (name, quantity) VALUES ('banana', 150); INSERT INTO inventory (name, quantity) VALUES ('orange', 154); INSERT INTO inventory (name, quantity) VALUES ('apple', 100); -- Read SELECT * FROM inventory; -- Update UPDATE inventory SET quantity = 200 WHERE SELECT * FROM inventory; -- Delete DELETE FROM inventory WHERE SELECT * FROM inventory;

На снимке экрана показан пример кода SQL в SQL Workbench и выходные данные после его выполнения.
Теперь вы подключились к гибкому серверу База данных Azure для MySQL с помощью MySQL Workbench и запросили данные с помощью языка SQL.
Дальнейшие действия
- Зашифрованное подключение с использованием протокола TLS 1.2 к Базе данных Azure для MySQL (Гибкий сервер).
- Дополнительные сведения о сети см. в статье База данных Azure для MySQL — гибкий сервер.
- Создание правил брандмауэра База данных Azure для MySQL и управление ими с помощью портал Azure.
- Создание виртуальной сети База данных Azure для MySQL — гибкий сервер и управление ими с помощью портал Azure.
7) Оператор SELECT
SELECT QUERY используется для извлечения данных из базы данных MySQL. Базы данных хранят данные для последующего поиска. Цель MySQL Select – вернуть из таблиц базы данных одну или несколько строк, соответствующих заданным критериям. Запрос на выбор может быть использован в скриптовом языке, таком как PHP, Ruby, или вы можете выполнить его из командной строки.
Синтаксис оператора SQL SELECT
Это наиболее часто используемая команда SQL и имеет следующий общий синтаксис
SELECT [DISTINCT|ALL ] < * | [fieldExpression [AS newName]>FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
ВОТ
- SELECT – это ключевое слово SQL, которое позволяет базе данных знать, что вы хотите получить данные.
- [DISTINCT | ALL] – необязательные ключевые слова, которые можно использовать для точной настройки результатов, возвращаемых оператором SQL SELECT. Если ничего не указано, то по умолчанию принимается ALL.
- должна быть указана как минимум одна часть, «*» выбрал все поля из указанного имени таблицы, fieldExpression выполняет некоторые вычисления для указанных полей, например, добавляет числа или объединяет два строковых поля в одно.
- FROM tableName является обязательным и должен содержать хотя бы одну таблицу, несколько таблиц должны быть разделены запятыми или объединены с помощью ключевого слова JOIN.
- Если условие является необязательным, его можно использовать для указания критериев в наборе результатов, возвращаемых запросом.
- GROUP BY используется для объединения записей, имеющих одинаковые значения полей.
- Условие HAVING используется для указания критериев при работе с ключевым словом GROUP BY.
- ORDER BY используется для указания порядка сортировки набора результатов.
Символ Звезды используется для выбора всех столбцов в таблице. Пример простого оператора SELECT выглядит так, как показано ниже.
SELECT * FROM `members`;
Приведенный выше оператор выбирает все поля из таблицы членов. Точка с запятой это утверждение завершить. Это не обязательно, но считается хорошей практикой заканчивать ваши заявления таким образом.
Практические примеры
Нажмите, чтобы загрузить базу данных myflix, используемую для практических примеров.
Вы можете научиться импортировать файл .sql в MySQL WorkBench.
Примеры выполняются в следующих двух таблицах
Таблица 1: таблица участников
Таблица 2: таблица фильмов
| movie_id | заглавие | директор | year_released | category_id |
|---|---|---|---|---|
| 1 | Пираты Карибского моря 4 | Роб Маршалл | 2011 | 1 |
| 2 | Забыть Сару Маршал | Николас Столлер | 2008 | 2 |
| 3 | X-Men | ЗНАЧЕНИЕ NULL | 2008 | ЗНАЧЕНИЕ NULL |
| 4 | Кодовое имя черный | Эдгар Джимз | 2010 | ЗНАЧЕНИЕ NULL |
| 5 | Папочки маленькие девочки | ЗНАЧЕНИЕ NULL | 2007 | 8 |
| 6 | Ангелы и демоны | ЗНАЧЕНИЕ NULL | 2007 | 6 |
| 7 | Код Давинчи | ЗНАЧЕНИЕ NULL | 2007 | 6 |
| 9 | Медовые луны | Джон Шульц | 2005 | 8 |
| 16 | 67% виновных | ЗНАЧЕНИЕ NULL | 2012 | ЗНАЧЕНИЕ NULL |
Получение списка участников
Давайте предположим, что мы хотим получить список всех зарегистрированных членов библиотеки из нашей базы данных, мы будем использовать скрипт, показанный ниже, чтобы сделать это.
SELECT * FROM `members`;
Выполнение вышеупомянутого сценария в MySQL Workbench дает следующие результаты.
Наш запрос выше вернул все строки и столбцы из таблицы members.
Допустим, мы заинтересованы только в том, чтобы получить только полные имена, пол, физический адрес и адрес электронной почты. Следующий скрипт поможет нам достичь этого.
SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;
Выполнение вышеупомянутого сценария в MySQL Workbench дает следующие результаты.
| полные имена | Пол | Физический адрес | электронное письмо |
|---|---|---|---|
| Джанет Джонс | женский | Первый Улица Участка № 4 | janetjones@yagoo.cm |
| Джанет Смит Джонс | женский | Мелроуз 123 | jj@fstreet.com |
| Роберт Фил | мужчина | 3-я улица, 34 | rm@tstreet.com |
| Глория Уильямс | женский | 2-я улица, 23 | ЗНАЧЕНИЕ NULL |
Получение списка фильмов
Помните в нашем обсуждении выше, что мы упоминаем выражения, использованные в инструкциях SELECT. Допустим, мы хотим получить список фильмов из нашей базы данных. Мы хотим, чтобы название фильма и имя режиссера были в одном поле. Имя режиссера должно быть в скобках. Мы также хотим узнать год выпуска фильма. Следующий скрипт помогает нам в этом.
SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;
ВОТ
- MySQL-функция Concat () используется для объединения значений столбцов.
- Строка “Concat (` title`, ‘(‘, Director “, ‘)’) получает заголовок, добавляет открывающую скобку, за которой следует имя директора, затем добавляет закрывающую скобку.
Строковые части разделяются запятыми в функции Concat ().
Выполнение вышеупомянутого сценария в MySQL Workbench приводит к следующему набору результатов.
| Concat (`title`, ‘(‘, Director`, ‘)’) | year_released |
|---|---|
| Пираты Карибского моря 4 (Роб Маршалл) | 2011 |
| Забыть Сару Маршал (Николас Столлер) | 2008 |
| ЗНАЧЕНИЕ NULL | 2008 |
| Кодовое имя Черный (Эдгар Джимз) | 2010 |
| ЗНАЧЕНИЕ NULL | 2007 |
| ЗНАЧЕНИЕ NULL | 2007 |
| ЗНАЧЕНИЕ NULL | 2007 |
| Медовые луны (Джон Шульц) | 2005 |
| ЗНАЧЕНИЕ NULL | 2012 |
Имена полей псевдонимов
Приведенный выше пример вернул код конкатенации в качестве имени поля для наших результатов. Предположим, мы хотим использовать более описательное имя поля в нашем наборе результатов. Мы бы использовали псевдоним столбца для достижения этого. Ниже приведен основной синтаксис для псевдонима столбца.
SELECT `column_name|value|expression` [AS] `alias_name`;
ВОТ
- «SELECT` имя_ столбца | значение | выражение `» – это обычный оператор SELECT, который может быть именем столбца, значением или выражением.
- «[AS]» является необязательным ключевым словом перед именем псевдонима, обозначающим выражение, значение или имя поля, которое будет возвращено как.
- «alias_name» – это псевдоним, который мы хотим вернуть в нашем наборе результатов в качестве имени поля.
Приведенный выше запрос с более значимым именем столбца
SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;
Получаем следующий результат
| Concat | year_released |
|---|---|
| Пираты Карибского моря 4 (Роб Маршалл) | 2011 |
| Забыть Сару Маршал (Николас Столлер) | 2008 |
| ЗНАЧЕНИЕ NULL | 2008 |
| Кодовое имя Черный (Эдгар Джимз) | 2010 |
| ЗНАЧЕНИЕ NULL | 2007 |
| ЗНАЧЕНИЕ NULL | 2007 |
| ЗНАЧЕНИЕ NULL | 2007 |
| Медовые луны (Джон Шульц) | 2005 |
| ЗНАЧЕНИЕ NULL | 2012 |
Получение списка участников с указанием года рождения
Предположим, что мы хотим получить список всех участников с указанием номера участника, его полных имен и года рождения, мы можем использовать строковую функцию LEFT, чтобы извлечь год рождения из поля даты рождения. Сценарий, показанный ниже, помогает нам сделать это.
SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;
ВОТ
- «ЛЕВЫЙ (` date_of_birth`, 4)»функция строки ЛЕВЫЙ принимает дату рождения качестве параметра и возвращает только 4 символа слева.
- «AS` year_of_birth` » – это псевдоним столбца, который будет возвращен в наших результатах. Обратите внимание, что ключевое слово AS является необязательным , вы можете не указывать его, и запрос все равно будет работать.
Выполнение вышеуказанного запроса в MySQL Workbench против myflixdb дает нам результаты, показанные ниже.
SQL с использованием MySQL Workbench
Теперь мы будем использовать MySQL Workbench для генерации скрипта, который будет отображать все имена полей из нашей таблицы категорий.
1. Щелкните правой кнопкой мыши таблицу категорий. Нажмите «Выбрать строки – предел 1000»
2. MySQL Workbench автоматически создаст SQL-запрос и вставит его в редактор.
3. Результаты запроса будут показаны
Обратите внимание, что мы сами не писали оператор SELECT. MySQL верстак сгенерировал это для нас.
Зачем использовать команду SELECT SQL, когда у нас есть MySQL Workbench?
Теперь вы можете подумать, зачем изучать команду SQL SELECT для запроса данных из базы данных, когда вы можете просто использовать инструмент, такой как инструментальные средства MySQL, для получения тех же результатов без знания языка SQL. Конечно, это возможно, но изучение того, как использовать команду SELECT, дает вам больше гибкости и контроля над операторами SQL SELECT .
MySQL Workbench относится к категории инструментов QBE « Запрос по примеру ». Он призван помочь быстрее генерировать операторы SQL для повышения производительности пользователей.
Изучение команды SQL SELECT может позволить вам создавать сложные запросы, которые не могут быть легко сгенерированы с помощью утилит Query by Example, таких как MySQL Workbench.
Для повышения производительности вы можете сгенерировать код с помощью MySQL, а затем настроить его под свои требования . Это может произойти, только если вы понимаете, как работают операторы SQL!
Резюме
- Ключевое слово SQL SELECT используется для запроса данных из базы данных, и это наиболее часто используемая команда.
- Простейшая форма имеет синтаксис «SELECT * FROM tableName;»
- Выражения также можно использовать в операторе выбора. Пример «ВЫБЕРИТЕ количество + цена ОТ ПРОДАЖ»
- Команда SQL SELECT также может иметь другие необязательные параметры, такие как WHERE, GROUP BY, HAVING, ORDER BY. Они будут обсуждаться позже.
- MySQL Workbench может помочь в разработке операторов SQL, их выполнении и выводе результата в том же окне.
