Share This
Связаться со мной
Крути в низ
Categories
//ТОП-10 запросов MySQL

ТОП-10 запросов MySQL

top 10 zaprosov mysql 293ad56 - ТОП-10 запросов MySQL

iOS-разработчик, ИТ-переводчица, пишу статьи и гайды. Из этой статьи вы узнаете о 10 наиболее часто используемых запросах в MySQL, которыми пользуются новички и эксперты в области управления базами данных.

top 10 zaprosov mysql 65fd714 - ТОП-10 запросов MySQL

Данная статья является переводом. Ссылка на оригинал.

Обычно запросы в MySQL пишутся один раз в теле функции класса, чтобы свести к минимуму повторение кода. Запрос позволяет получить информацию из таблицы базы данных или комбинации таблиц.

Существует множество языков запросов, которые можно написать для выполнения ряда простых и сложных запросов. Запросы обеспечивают фильтрацию данных на основе определенных критериев, автоматизацию процессов управления данными, а также занимаются расчетами. В этой статье мы рассмотрим 10 наиболее распространенных запросов MySQL.

На примере демонстрационных баз данных рассмотрим, как работает каждый запрос.

EmployeeID Name Title
1002 Webster W. Executive
1003 Lizzy S. Manager
1004 Oliver T. Software Engineer
EmployeeID Department Age
1002 HR 36
1003 Sales 21
1004 IT 39

1. SELECT All

Простой запрос SELECT используется для получения и отправки всех данных из базы данных. Его синтаксис:

         SELECT * FROM Employees;     

Результат:

         1002       Webster W.     Executive 1003       Lizzy S.       Manager 1004       Oliver T.      Software Engineer     

Чтобы выбрать все столбцы, имеющиеся в таблице, вы должны использовать *. Так вы покажите, что вам нужна вся возможная возвращаемая информация. Также укажите ключевое слово FROM, чтобы получить данные из таблицы базы данных. Никогда не забывайте заканчивать выражение точкой с запятой ; для правильного оформления запроса.

Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека программиста» Интересно, перейти к каналу

2. SELECT

Чтобы получить данные из определенных столбцов, а не из всех, вы должны просто указать имя поля вместо использования звездочки *.

Код:

         SELECT Title FROM Employees;     

Результат:

         Title Executive Manager Software Engineer     

При выборе нескольких столбцов из базы данных, они должны быть разделены запятой. Вот так:

         SELECT Title, Name FROM Employees;     

3. WHERE

При использовании WHERE в запросе SELECT записи данных будут фильтроваться, а в качестве результата извлекаться записи, соответствующие условию (условиям).

Код:

         SELECT * FROM Employees WHERE EmployeeID = 1004 ;     

Результаты:

         1004       Oliver T.          Software Engineer     

В предложении WHERE может быть несколько условий, которые можно разделить с помощью ключевого слова AND.

4. CREATE

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

Код:

         CREATE TABLE EmployeeInfo (  EmployeeId INT, Department VARCHAR(25), Age NUMBER  );      

Ожидаемые результаты таблицы:

EmployeeID Department Department
NULL NULL NULL

После того как вы выполните команду CREATE TABLE и заполните ее заголовками столбцов, приведенный выше запрос создаст в базе данных таблицу EmployeeInfo. Каждый столбец вернет NULL, потому что мы не вставили какое-либо конкретное значение. Это приводит нас к следующему запросу INSERT INTO.

5. INSERT INTO

Это наиболее распространенный запрос для вставки значений в одну или несколько строк новых записей в таблице. Мы можем заполнить таблицу EmployeeInfo некоторыми примерами данных:

Код:

         INSERT INTO EmployeeInfo (EmployeeID,Department,Age) VALUES  (1002, HR , 46), (1003, Finance , 28), (1004, IT , 39);     

Результаты таблицы:

EmployeeInfo

EmployeeID Department Age
1002 HR 46
1003 Finance 28
1004 IT 39

В запросе INSERT INTO команда VALUES должна быть частью полного оператора.

6. UPDATE

Это ключевое слово используется для изменения одного или нескольких существующих столбцов в таблице. Использование этого запроса обновит записи таблицы новыми данными, опираясь на некоторое условие.

EmployeeInfo

EmployeeID Department Age
1002 HR 36
1003 Sales 21
1004 IT 39

Код:

         UPDATE EmployeeInfo SET Age = 22 WHERE EmployeeID = 1003;     

Результаты таблицы:

EmployeeInfo

EmployeeID Department Age
1002 HR 36
1003 Sales 22
1004 IT 39

После команды UPDATE используйте ключевое слово SET, чтобы указать, какие столбцы вы хотите изменить, и ГДЕ вам нужно применить обновленные данные.

7. DELETE FROM

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

Код:

         DELETE FROM Employees WHERE Name = ‘Lizzy’;     

Результаты таблицы:

Employees

EmployeeID Name Title
1002 Webster W. Executive
1004 Oliver T. Software Engineer

Как уже говорилось в статье, использование условия WHERE определяет, где именно вы запрашиваете данные для фильтрации и выполнения. Этот запрос должен удалить каждую запись из таблицы сотрудников, которая соответствует имени Lizzy.

8. Использование GROUP BY, HAVING

GROUP BY в основном всегда используется с агрегатными функциями. Использование данного ключевого слова сгруппирует набор результатов по одному или нескольким столбцам.

Ключевое слово HAVING используется для фильтрации этого набора результатов. В идеале вы могли бы подумать, что вместо этого следует использовать предложение WHERE, однако предложение HAVING вводит условие для агрегации.

EmployeeInfo

EmployeeID Department Age
1002 HR 36
1003 Sales 21
1004 IT 39

Код:

         SELECT COUNT(Age), EmployeeID FROM EmployeeInfo GROUP BY EmployeeID HAVING COUNT(Age) > 21;     

Результаты:

         COUNT(Age)  EmployeeID 39   1004 36   1002       

9. Агрегатные функции (SUM, AVG и COUNT)

Существуют три распространенные агрегатные функции, которые позволяют интерпретировать данные из таблицы или выполнять вычисления.

  1. COUNT: возвращает количество строк, соответствующих указанному столбцу.
  2. AVG: возвращает среднее значение столбца.
  3. SUM: возвращает сумму всех значений в выбранном столбце.

EmployeeInfo

EmployeeID Department Age
1002 HR 36
1003 Sales 21
1004 IT 39

Код для COUNT:

         SELECT  COUNT(Department) FROM EmployeeInfo;     

Результаты:

         COUNT(Department): 3     

Код для AVG:

         SELECT AVG(Age) FROM EmployeeInfo;     

Результаты:

         AVG(Age): 32     

Код для SUM:

         SELECT SUM(Age) FROM EmployeeInfo;     

Результаты:

         SUM(Age): 96     

10. JOIN

JOIN используется для объединения строк как минимум из двух таблиц на основе связанного столбца между таблицами. Наиболее распространенными соединениями являются INNER, FULL и LEFT.

  • INNER Join – объединяет строки из разных таблиц, если условие соединения истинно.
  • FULL Join — возвращает все строки, если есть совпадение в левой или правой записях таблицы.
  • LEFT Join — извлекает все строки из левой таблицы и соответствующие записи из правой таблицы.

Employees — Таблица №1 (слева)

EmployeeID Name Title
1002 Webster W. Executive
1003 Lizzy S. Manager
1004 Oliver T. Software Engineer

EmployeeInfo — таблица № 2 (справа)

EmployeeID Department Age
1002 HR 36
1003 Sales 21
1004 IT 39

INNER JOIN код:

         SELECT Employees.Title, EmployeeInfo.Department FROM Employees  INNER JOIN EmployeeInfo  ON Employees.EmployeeID = Employees.EmployeeID;     

Результаты:

         Title          Department Executive      HR      Manager        Sales      Software       Engineer  IT     

FULL JOIN код:

         SELECT *  FROM Employees   FULL JOIN EmployeeInfo   ON Employees.EmployeeID = Employees.EmployeeID;     

Результаты:

Будет захватывать все строки и столбцы из обеих таблиц, включая дубликаты, и объединять их в одну целую таблицу.

LEFT JOIN код:

         SELECT Employees.Name, EmployeeInfo.Age FROM Employees   LEFT JOIN EmployeeInfo   ON Employees.EmployeeID = Employees.EmployeeID;     

Результаты:

         Name              Age Webster W.        36     Lizzy S.          21    Oliver T.         39     

Столбец EmployeeID в таблице Employee ссылается на EmployeeID в таблице EmployeeInfo. По сути, столбец EmployeeID является связью между обеими таблицами. Джойны могут оказаться сложными, но в то же время чрезвычайно полезными при работе с большой базой данных.

***

Материалы по теме

  • 📜 Основные SQL-команды и запросы с примерами, которые должен знать каждый разработчик
  • 🗄️ ✔️ 10 лучших практик написания SQL-запросов
  • 🐘 Руководство по SQL для начинающих. Часть 1: создание базы данных, таблиц и установка связей между таблицами

  • 0 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Связаться со мной
Close