MySQL – реляционная система управления базами данных свободного типа. Распространяется под GNU General Public License, а также под собственной коммерческой лицензией. Разработчики проекта MySQL регулярно создают новые функциональные возможности. Соответствующая система управления базами данных имеет механизм репликации.
Данная СУБД используется как для небольших, так и для средних приложений. Широко применяется при формировании веб-серверов. MySQL часто выступает в виде сервера, к которому подключаются локальные сети и удаленные клиенты. Дистрибутив поддерживает библиотеку внутреннего сервера. С его помощью СУБД поддерживает функционирование автономного программного обеспечения. Поддерживает работу с SQL-запросами.
MySQL позволяет извлекать строки и данные из электронных баз данных. Для этого используется оператор Select. Изучим его более подробно.
SQL – это…
Сначала предстоит выяснить, что собой представляет SQL. Так называется стандартизированный язык, используемый для взаимодействия с базами данных. Он помогает:
- получать доступ к информации из БД;
- изменять имеющиеся сведения;
- удалять записи из баз данных.
SQL-язык условно делится на несколько частей:
- Syntax, используемый для семантических языковых вопросов. Он позволяет идентифицировать отдельные элементы БД.
- Syntax управления. Дает возможность обновлять, а также искать интересующие электронные материалы.
- Синтаксис, выдающие пользователям права на те или иные единицы информации в БД.
SQL – язык, используемый различными СУБД, в число которых включена MySQL. Далее предстоит более подробно изучить команду Select, а также рассмотреть несколько наглядных примеров запросов с ней.
Краткая характеристика Select
Оператор Select используется в SQL queries для основной работы с таблицами. Команда является универсальной syntax конструкцией. Добавляя в нее различные предложения и параметры, удается выполнять различные операции, связанные с выборкой.
Select from – оператор запроса в SQL. Он возвращает набор данных (выборку) из заданной БД. Здесь рекомендуется запомнить следующие особенности:
- Select возвращает ноль или более строк.
- Список возвращаемых столбцов необходимо задать в части оператора, которая называется предложением Select.
- Запрос Select определит требования к возвращаемому набору информации. Он не является точной инструкцией по вычислению данных.
Включает в себя несколько разделов. Каждый такой query отвечает за выборку с уточненными параметрами. Далее предстоит рассмотреть их более подробно.
Разделы
Selects позволяют получить информацию из имеющихся электронных таблиц для дальнейшей обработки. Одноименный оператор поддерживает разделы:
- Select. Отвечает за определение спектра возвращаемых столбцов. Работает не только с уже существующими, но и с вычисляемыми компонентами. Поддерживает определение имен столбцов, ограничений на уникальность строк в возвращаемом наборе, а также на их количество.
- From. Раздел, отвечающий за определение базового набора информации для дальнейших операций. Указывает на пространство, откуда брать материалы для предполагаемых расчетов.
- Group By. Используется для объединения рядов, обладающих одинаковыми свойствами. В процессе реализации используются агрегатные функции.
- Where. Используется для формирования ограничений на строки табличного выражения, определенного предложением From.
- Having. Проводит выборку среди групп, определенных при помощи параметра Group By.
- Order by. Используется для формирования критериев сортировки строк. После выполнения соответствующей операции отправляет информацию в точку вызова.
Далее будут приведены наглядные примеры использования каждого оператора. Они помогут быстрее понять, как использовать SQL language для работы с MySQL и выборки информации.
Форма представления Select
Для формирования SQL-запроса типа Selecting, необходимо воспользоваться конструкцией следующего вида:
В соответствующей записи поле1 и поле2 – это имена столбцов. Для того, чтобы извлечь их все из таблицы, используется выражение «*» (без кавычек). Имя_таблицы будет задавать табличное имя. Это – название хранилища информации, откуда необходимо извлечь данные.
Limit в приведенном примере используется для того, чтобы ограничить количество строк, возвращаемых изучаемым оператором. Order By позволяет сортировать результирующие значения столбца по возрастанию или убыванию.
Оператор Where
Далее предстоит изучить all operators, используемые с Select from. Первый вариант – это where. Этот оператор может отсутствовать в запросе. Он является необязательным. Позволяет ввести уточняющие условия в команду. В качестве альтернативы допускается использование в Select from операторов and и or.
Where используется с запросами for update и delete. Чтобы понять принцип работы оператора, необходимо изучить наглядный example. Вот так выглядит общая форма SQL-query:
Теперь можно создать таблицу users по предложенной схеме. Она будет включать в себя поля:
- id;
- first_name;
- last_name;
- address;
- city;
- zip;
- state;
- contact_number;
- login_attempts;
- password;
- email;
- username.
Выглядит это так:
При использовании в select from предложения where, могут потребоваться дополнительные операторы: равенство/неравенство, больше/меньше, in/not in, like, between.
Равно и не равно
Оператор равенства (=) используется для проверки на идентичность значений двух полей. Если они совпадают, условие получает значение true. Оператор после этого извлечет необходимые данные для дальнейшей обработки.
При несовпадении значений условие должно включать в себя оператор неравенства (<>). С его помощью происходит извлечение данных на основе условия, которое не совпадает.
Вот – пример from where, в котором необходимо получить все записи с городом New York.
Больше и меньше
При использовании selected from where иногда необходимо сравнивать значения. Оператор больше (>) отвечает за проверку значения левого поля. С его помощью система выясняет, больше ли оно правого. Если да, написанное условие будет выполнено.
Оператор меньше (<) проверяет, меньше ли значение левого поля в выражении from where, чем правого. Допускается одновременное использование соответствующих условий (>/<). В соответствующей ситуации равенство проверяется совместно.
Выше – пример запроса from where, в котором требуется получить все записи с попытками входа, превышающим два раза.
Like
При помощи Like в Select from пользователь может искать записи в столбце по заданным шаблонам. В запросе используются подстановочные символы для их определения. Обычно встречаются следующие варианты:
- %. Подстановочный символ в select from, используемый для поиска ноль или более любых символов. Вот – пример поиска пользователей с именами, начинающимися на «а»: . Если необходимо отыскать имена, которые начинаются на «а», а заканчиваются на «s», запись станет такой: .
- _(нижнее подчеркивание). Символ, используемый для поиска по заданному шаблону. В месте нижнего подчеркивания может располагаться любой символ. Пример – поиск пользователей, чье имя заканчивается на dmin, но первый символ точно неизвестен. На его месте может быть любое другое значение. В соответствующей ситуации необходимо сформировать запрос select from where like такого типа: .
При использовании «_» считывается только один символ. Если любых символов перед окончанием должно быть два, потребуется указать несколько «_».
In и not in
При использовании в выражении select from where команды in происходит сравнение нескольких значений после where. Вот – examples, указывающие на выборку всех пользователей из New York и Chicago:
Not in работает в from where иначе. Данная команда оказывает на обратную in функцию. Вот так будет выглядеть запрос, в котором необходимо указать всех пользователей, живущих не в New York или Chicago: .
Это элементарные примеры. На их основании удается формировать более сложные structured queries.
Between
Between используется для извлечения информации из заданного диапазона. Область определения в select from может быть любой – текстом, датой, цифрой.
Выше – пример запроса as select from, где необходимо отыскать пользователей с датами создания профилей в промежутке от 1 до 16 июля 2017 года.
Использование Order By
Предложение order by используется для того, чтобы привести записи в порядок. Оно выводит информацию в упорядоченной форме. From order by – выражение, позволяющее сортировать значения по столбцу по убыванию или возрастанию.
По умолчанию в from order by используется вывод «от меньшего к большему». При помощи ключевого слова desc информация будет введена по убыванию, а asc – по возрастанию.
Для сортировки по нескольким столбцам необходимо указать их в from order by через запятую.
Предложения Limit
Limit используется для получения некоторого количества строк из больших информационных блоков. Данное предложение помогает ограничивать возвращаемые строки результирующего набора.
Limit позволяет передавать один или два аргумента. Во втором случае один из них будет смещением, задающим сдвиг первой возвращаемой строки. Соответствующий аргумент обязательно является или положительным, или нулевым.
Если в запросе всего один аргумент, он является количеством строк:
Этот фрагмент выводит на экран 10 строк из таблицы пользователей (users).
Соединение в SQL
Соединение используется для получения информации из нескольких таблиц одновременно. Пример – даны таблички order и customer. Из них необходимо извлечь информацию. Для этого используется join.
Соответствующая команда поддерживает следующие типы предложений:
- Inner. Внутреннее объединение. Возвращает записи, значения которых совпадают в обеих таблицах.
- Cross. Перекрестное соединение. Выводит информацию, совпадающая в левой или правой таблице.
- Left. Левое соединение. Используется для отображения данных select from левой таблицы, которые соответствуют значениям из правой.
- Right. Правое соединение. Возвращает данные из правой таблицы, которые встречаются в левой.
Также есть ключевое слово Union. Оно объединяет результаты нескольких select-запросов в единую таблицу. Для этого у каждого Select from должно быть одно и то же количество столбцов с одинаковыми типами информации.
Удаление дубликатов
Для оптимизации таблиц в MySQL при использовании select from, необходимо задействовать предложение distinct. С его помощью удаляются значения-дубликаты из результирующего набора.
Здесь:
- Expressions – это столбцы или вычисления, которые хочется получить.
- Tables – таблицы, с которыми осуществляется работа. Данный параметр не может отсутствовать. В перечислении from должна быть хотя бы одна таблица.
- Where conditions – необязательный параметр. Указывает на условия, которые выполняются для выбранных записей.
Стоит обратить внимание на то, что при определении более одного expressions запрос будет получать уникальные комбинации для указанных столбцов/вычислений.
В MySQL distinct не игнорирует значения типа NULL. Он интерпретируется системой в качестве отдельного значения.
Вот примеры MySQL с Select from distinct для одного и нескольких expressions соответственно:
В первом случае команда вернет все уникальные параметры state из таблицы customers. Во втором произойдет возврат каждой уникальной комбинации полей city и state из customers. Distinct будет применяться к каждому столбцу, указанному после ключевого слова.
Прокачать навыки работы с базами данных можно на курсах Otus.