Galina Iaroshenko iOS-разработчик, ИТ-переводчица, пишу статьи и гайды. Из этой статьи вы узнаете о 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) Существуют три распространенные агрегатные функции, которые позволяют интерпретировать данные из таблицы или выполнять вычисления. COUNT: возвращает количество строк, соответствующих указанному столбцу. AVG: возвращает среднее значение столбца. 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: создание базы данных, таблиц и установка связей между таблицами
iOS-разработчик, ИТ-переводчица, пишу статьи и гайды. Из этой статьи вы узнаете о 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) Существуют три распространенные агрегатные функции, которые позволяют интерпретировать данные из таблицы или выполнять вычисления. COUNT: возвращает количество строк, соответствующих указанному столбцу. AVG: возвращает среднее значение столбца. 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: создание базы данных, таблиц и установка связей между таблицами
Данная статья является переводом. Ссылка на оригинал.
Обычно запросы в MySQL пишутся один раз в теле функции класса, чтобы свести к минимуму повторение кода. Запрос позволяет получить информацию из таблицы базы данных или комбинации таблиц.
Существует множество языков запросов, которые можно написать для выполнения ряда простых и сложных запросов. Запросы обеспечивают фильтрацию данных на основе определенных критериев, автоматизацию процессов управления данными, а также занимаются расчетами. В этой статье мы рассмотрим 10 наиболее распространенных запросов MySQL.
На примере демонстрационных баз данных рассмотрим, как работает каждый запрос.
Простой запрос SELECT используется для получения и отправки всех данных из базы данных. Его синтаксис:
SELECT
SELECT * FROM Employees;
Результат:
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer
Чтобы выбрать все столбцы, имеющиеся в таблице, вы должны использовать *. Так вы покажите, что вам нужна вся возможная возвращаемая информация. Также укажите ключевое слово FROM, чтобы получить данные из таблицы базы данных. Никогда не забывайте заканчивать выражение точкой с запятой ; для правильного оформления запроса.
*
FROM
;
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека программиста» Интересно, перейти к каналу
Чтобы получить данные из определенных столбцов, а не из всех, вы должны просто указать имя поля вместо использования звездочки *.
Код:
SELECT Title FROM Employees;
Title Executive Manager Software Engineer
При выборе нескольких столбцов из базы данных, они должны быть разделены запятой. Вот так:
SELECT Title, Name FROM Employees;
При использовании WHERE в запросе SELECT записи данных будут фильтроваться, а в качестве результата извлекаться записи, соответствующие условию (условиям).
WHERE
SELECT * FROM Employees WHERE EmployeeID = 1004 ;
Результаты:
1004 Oliver T. Software Engineer
В предложении WHERE может быть несколько условий, которые можно разделить с помощью ключевого слова AND.
AND
Этот запрос можно использовать для создания новой таблицы с определенным набором столбцов. При добавлении имен столбцов обязательно укажите тип данных.
CREATE TABLE EmployeeInfo ( EmployeeId INT, Department VARCHAR(25), Age NUMBER );
Ожидаемые результаты таблицы:
После того как вы выполните команду CREATE TABLE и заполните ее заголовками столбцов, приведенный выше запрос создаст в базе данных таблицу EmployeeInfo. Каждый столбец вернет NULL, потому что мы не вставили какое-либо конкретное значение. Это приводит нас к следующему запросу INSERT INTO.
CREATE TABLE
EmployeeInfo
NULL
INSERT INTO
Это наиболее распространенный запрос для вставки значений в одну или несколько строк новых записей в таблице. Мы можем заполнить таблицу EmployeeInfo некоторыми примерами данных:
INSERT INTO EmployeeInfo (EmployeeID,Department,Age) VALUES (1002, HR , 46), (1003, Finance , 28), (1004, IT , 39);
Результаты таблицы:
В запросе INSERT INTO команда VALUES должна быть частью полного оператора.
VALUES
Это ключевое слово используется для изменения одного или нескольких существующих столбцов в таблице. Использование этого запроса обновит записи таблицы новыми данными, опираясь на некоторое условие.
UPDATE EmployeeInfo SET Age = 22 WHERE EmployeeID = 1003;
После команды UPDATE используйте ключевое слово SET, чтобы указать, какие столбцы вы хотите изменить, и ГДЕ вам нужно применить обновленные данные.
UPDATE
SET
Чтобы удалить записи из таблицы на основе одного или нескольких условий, вам потребуется использовать оператор DELETE FROM. При использовании условий он ограничивает количество строк, на которые влияет запрос.
DELETE FROM
DELETE FROM Employees WHERE Name = ‘Lizzy’;
Employees
Как уже говорилось в статье, использование условия WHERE определяет, где именно вы запрашиваете данные для фильтрации и выполнения. Этот запрос должен удалить каждую запись из таблицы сотрудников, которая соответствует имени Lizzy.
GROUP BY в основном всегда используется с агрегатными функциями. Использование данного ключевого слова сгруппирует набор результатов по одному или нескольким столбцам.
GROUP BY
Ключевое слово HAVING используется для фильтрации этого набора результатов. В идеале вы могли бы подумать, что вместо этого следует использовать предложение WHERE, однако предложение HAVING вводит условие для агрегации.
HAVING
SELECT COUNT(Age), EmployeeID FROM EmployeeInfo GROUP BY EmployeeID HAVING COUNT(Age) > 21;
COUNT(Age) EmployeeID 39 1004 36 1002
Существуют три распространенные агрегатные функции, которые позволяют интерпретировать данные из таблицы или выполнять вычисления.
COUNT
AVG
SUM
Код для 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
JOIN используется для объединения строк как минимум из двух таблиц на основе связанного столбца между таблицами. Наиболее распространенными соединениями являются INNER, FULL и LEFT.
JOIN
INNER
FULL
LEFT
INNER Join
FULL Join
LEFT Join
Employees — Таблица №1 (слева)
EmployeeInfo — таблица № 2 (справа)
INNER JOIN код:
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 код:
FULL JOIN
SELECT * FROM Employees FULL JOIN EmployeeInfo ON Employees.EmployeeID = Employees.EmployeeID;
Будет захватывать все строки и столбцы из обеих таблиц, включая дубликаты, и объединять их в одну целую таблицу.
LEFT JOIN код:
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 является связью между обеими таблицами. Джойны могут оказаться сложными, но в то же время чрезвычайно полезными при работе с большой базой данных.
EmployeeID
***
Ваш адрес email не будет опубликован. Обязательные поля помечены *
Сохранить моё имя, email и адрес сайта в этом браузере для последующих моих комментариев.
Δ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.