ТОП-10 запросов MySQL
iOS-разработчик, ИТ-переводчица, пишу статьи и гайды. Из этой статьи вы узнаете о 10 наиболее часто используемых запросах в MySQL, которыми пользуются новички и эксперты в области управления базами данных. Данная статья является переводом. Ссылка на оригинал. Обычно запросы в MySQL пишутся один раз в теле функции класса, чтобы свести к минимуму повторение кода. Запрос позволяет получить информацию из таблицы базы данных или комбинации таблиц. Существует множество языков запросов, которые можно написать для выполнения ряда простых и сложных запросов. Запросы обеспечивают фильтрацию данных на основе определенных критериев, автоматизацию процессов управления данными, а также занимаются расчетами. В этой статье мы рассмотрим 10 наиболее распространенных запросов MySQL. На примере демонстрационных баз данных рассмотрим, как работает каждый запрос. Простой запрос Результат: Чтобы выбрать все столбцы, имеющиеся в таблице, вы должны использовать Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека программиста» Интересно, перейти к каналу Чтобы получить данные из определенных столбцов, а не из всех, вы должны просто указать имя поля вместо использования звездочки Код: Результат: При выборе нескольких столбцов из базы данных, они должны быть разделены запятой. Вот так: При использовании Код: Результаты: В предложении Этот запрос можно использовать для создания новой таблицы с определенным набором столбцов. При добавлении имен столбцов обязательно укажите тип данных. Код: Ожидаемые результаты таблицы: После того как вы выполните команду Это наиболее распространенный запрос для вставки значений в одну или несколько строк новых записей в таблице. Мы можем заполнить таблицу Код: Результаты таблицы: EmployeeInfo В запросе Это ключевое слово используется для изменения одного или нескольких существующих столбцов в таблице. Использование этого запроса обновит записи таблицы новыми данными, опираясь на некоторое условие. EmployeeInfo Код: Результаты таблицы: EmployeeInfo После команды Чтобы удалить записи из таблицы на основе одного или нескольких условий, вам потребуется использовать оператор Код: Результаты таблицы: Employees Как уже говорилось в статье, использование условия Ключевое слово EmployeeInfo Код: Результаты: Существуют три распространенные агрегатные функции, которые позволяют интерпретировать данные из таблицы или выполнять вычисления. EmployeeInfo Код для Результаты: Код для Результаты: Код для Результаты: Employees — Таблица №1 (слева) EmployeeInfo — таблица № 2 (справа) Результаты: Результаты: Будет захватывать все строки и столбцы из обеих таблиц, включая дубликаты, и объединять их в одну целую таблицу. Результаты: Столбец *** Galina Iaroshenko
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);
EmployeeID
Department
Age
1002
HR
46
1003
Finance
28
1004
IT
39
INSERT INTO
команда VALUES
должна быть частью полного оператора. 6. UPDATE
EmployeeID
Department
Age
1002
HR
36
1003
Sales
21
1004
IT
39
UPDATE EmployeeInfo SET Age = 22 WHERE EmployeeID = 1003;
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’;
EmployeeID
Name
Title
1002
Webster W.
Executive
1004
Oliver T.
Software Engineer
WHERE
определяет, где именно вы запрашиваете данные для фильтрации и выполнения. Этот запрос должен удалить каждую запись из таблицы сотрудников, которая соответствует имени Lizzy.8. Использование GROUP BY, HAVING
GROUP BY
в основном всегда используется с агрегатными функциями. Использование данного ключевого слова сгруппирует набор результатов по одному или нескольким столбцам.HAVING
используется для фильтрации этого набора результатов. В идеале вы могли бы подумать, что вместо этого следует использовать предложение WHERE
, однако предложение HAVING
вводит условие для агрегации.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
: возвращает сумму всех значений в выбранном столбце.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
— извлекает все строки из левой таблицы и соответствующие записи из правой таблицы.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
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 является связью между обеими таблицами. Джойны могут оказаться сложными, но в то же время чрезвычайно полезными при работе с большой базой данных. Материалы по теме
- 0 views
- 0 Comment