При работе с данными в информационных технологиях используются таблицы. Они объединяются в информационные базы (БД), управляемые специальным программным обеспечением – СУБД. В таком программном обеспечении необходимо формировать запросы для выполнения тех или иных команд.
Сегодня предстоит познакомиться с языком запросов и управления информационными таблицами SQL. Он является наиболее известным и распространенным инструментом. В качестве примера будет взята СУБД MySQL.
Ниже представлена краткая характеристика упомянутой системы управления базами данных, ее особенности, а также ключевые команды SQL для работы с таблицами. Эти сведения пригодятся не только IT-специалистам, но и другим ПК-пользователям. В идеале – всем, кто работает с цифровыми таблицами и большими информационными объемами.
MySQL – реляционная система управления базами данных, распространяемая совершенно свободно (бесплатно). Это наиболее распространенное и популярное программное обеспечение при работе с информационными таблицами. Оно отличается своей гибкостью, легкостью и удобством в плане эксплуатации.
Термин «реляционный» указывает на то, что базы будут представлены в виде связанной информации. Они описываются как некоторый набор связей.
Для чего необходима MySQL
MySQL – удобный инструмент для обработки информационных таблиц. Он используется для разных целей:
- получение быстрого доступа к БД;
- корректное и грамотное хранение информации в пределах сервера;
- оперативный поиск тех или иных сведений при помощи языка запросов SQL;
- идентификация и обработка отдельной информации, а также ее преобразование и отправка получателю;
- предоставление возможности создания, удаления, редактирования уже имеющихся в таблицах сведений;
- отправка транзакций – «пакетов», состоящих из нескольких запросов к БД;
- выдача разнообразных прав доступа пользователям;
- множественный доступ к БД с различных устройств;
- контроль состояния электронных информационных таблиц;
- возможность контролировать версии БД: создавать бэкапы, обновлять БД, а также осуществлять ее откат.
MySQL – удобный и современный инструмент для обработки информационных связанных таблиц (БД). Это программное обеспечение имеет как преимущества, так и недостатки. Знать о них необходимо еще до того, как пользователь приступит к более детальному изучению SQL на основе соответствующей СУБД.
Преимущества и недостатки
MySQL – программное обеспечение со своими сильными и слабыми сторонами. К ее основным преимуществам можно отнести:
- Высокую степень гибкости. Данный инструмент легко настраивается под индивидуальные потребности и особенности конкретного проекта. Для MySQL поддерживается огромное количество расширений и плагинов. С установкой СУБД на хостинги тоже не возникает никаких проблем – иногда для этого достаточно выполнить несколько кликов.
- Универсальность. MySQL – кроссплатформенное программное обеспечение. Оно будет успешно функционировать на Unix, Linux, Windows, Solaris и других системах. У него также есть API для большинства популярных языков разработки.
- Высокий уровень производительности. Если использовать средние и небольшие таблицы информации, MySQL справится с ними очень быстро. Это связано с особенностями внутренней структуры системы управления БД.
- Бесплатное распространение и открытый исходный код. Это делает рассматриваемую СУБД широко доступной. Она применяется не только опытными специалистами, но и новичками.
- Безопасность. MySQL способна обеспечить высокий уровень безопасности в процессе хранения данных и информационного обмена. У СУБД продвинутая система контроля прав для тех или иных пользователей, поддерживается шифрование и верификация. А еще для MySQL поддерживаются плагины, увеличивающие на стороне сервера уровень безопасности.
Перед изучением SQL-запросов на базе рассматриваемой СУБД нужно учитывать некоторые ее недостатки. А именно:
- Медленное развитие. Система является бесплатной, поэтому обновления для нее – редкость. Это наиболее распространенный недостаток свободного программного обеспечения.
- Не самый большой функционал. Рассматриваемая СУБД по умолчанию обладает меньшим количество функций и возможностей, чем ее конкуренты. За счет такого подхода удается обеспечивать простоту программы и легкость в ее освоении. Для дополнительных операций придется устанавливать расширения и плагины.
- Падение уровня производительности при работе с крупными проектами. Упомянутая СУБД лучше всего подходит для небольших и средних хранилищ таблиц. В случае с крупными проектами система может вести себя непредсказуемо из-за множества одновременных запросов в информационной базе. Производительность в таком случае сильно падает.
Снижение производительности MySQL в больших проектах не должно отталкивать. Этот недостаток просто необходимо учесть при выборе СУБД. Изначально упомянутое программное обеспечение не было предназначено для масштабных и связанных друг с другом таблиц.
Виды SQL-команд
SQL – это язык запросов, используемый для манипулирования реляционными базами данных. В таких хранилищах сведения будут храниться в качестве связанных друг с другом таблиц. SQL помогает выполнять разнообразные операции с имеющимися электронными материалами: добавлять запись, изменять их, удалять и так далее.
SQL – инструмент, который лежит в основе систем управления реляционными базами данных. Синтаксис SQL напоминает обычные предложения. Он состоит из ключевых слов и аргументов.
У SQL все команды условно делятся на несколько разновидностей:
- DDL или Data Definition Language. Такие команды необходимы для того, чтобы определять материалы. Соответствующие запросы позволяют очень быстро настраивать БД с таблицами – создавать их и прописывать структуры. В качестве примеров можно привести такие запросы как: DROP, CREATE, ALTER, RENAME.
- DML или Data Manipulation Language. Данный тип команд для работы с таблицами позволяет управлять информацией в хранилищах. Такие запросы дают возможность обновления, добавления, удаления и выбора информации. Примеры: SELECT, DELETE, UPDATE, INSERT.
- DCL или Data Control Language. Так называются запросы для выдачи или отзыва прав доступа пользователям. В качестве примеров стоит привести: DENY, GRANT и REVOKE.
- TCL или Transaction Control Language. Этот вариант запросов используется для управления транзакциями. В качестве таковых выступают команды с подтверждением или отказом изменений в таблицах БД. Примерами служат запросы: ROLLBACK, COMMIT, BEGIN.
Теперь можно изучить принцип обращения с SQL-командами более детально. Ниже представлены принципы, по которым получится делать простые запросы к БД через MySQL.
Структура SQL-команды
Команды SQL напоминают обычные предложения, но написанные на английском языке. С их помощью удается указывать действия, необходимые для выполнения различных манипуляций.
Наиболее распространенными являются операторы:
- Select – используется для выбора отдельных столбцов или всей таблицы целиком. Является обязательным во всех запросах в информационных таблицах.
- From – оператор, указывающий на то, из какой таблицы происходит считывание информации. Как и Select, является обязательным.
- Where – условие выборки информации.
- Group By – столбец, по которому будет осуществляться группировка имеющихся материалов.
- Having – условие фильтрации сгруппированных ранее материалов.
- Order By – столбец, по которому данные будут отсортированы.
Чтобы лучше понимать запросы в базе MySQL, далее предстоит рассмотреть предложенные выше операторы более подробно. Первые два элемента в списке являются обязательными. Без них невозможно составить ни одну дальнейшую операцию.
Select
Любая команда начинается с ключевого слова или действия, которое должно осуществиться. В качестве примеров можно выделить вставку новой строки, выборку строк, изменение заданной таблицы частично или целиком.
Одним из ключевых слов служит SELECT. С его помощью осуществляется выборка отдельных столбцов или всей таблицы. Это необходимо для дальнейшей передачи данных другим запросам на обработку.
Вот наглядный пример использования этого оператора:
SELECT (Name, Age) FROM Clients
Здесь на вывод будут поставлены все строки таблицы Clients, которые принадлежат к столбцам Age и Name.
FROM
FROM, как и SELECT, является еще одной обязательной частью. Команда ставится после SELECT и необходима для указания, из какой таблицы или информационного источника брать материалы. Обычно в этом операторе прописывается название таблицы, с которым предстоит работать.
В SQL все базируется на работе с таблицами. Именно поэтому для получения информации из того или иного места прописывается табличное название.
WHERE
WHERE используется для фильтрации данных. С его помощью в запросе можно делать условие, которому должны удовлетворять все строки, выводимые на экран в результате выполнения команды.
Если дополнить ранее предложенный пример оператором WHERE, можно сделать такую команду:
SELECT (Name, Age) FROM Clients WHERE Age >20
Здесь на экран будут выводиться данные, принадлежащие к Name и Age, но только те, у которых Age больше 20.
GROUP BY
Оператор, который помогает группировать информацию по тем или иным столбцам. Результатом становится новая таблица, построенная на основе ранее выбранных материалов.
Вот дополненная версия предыдущего запроса – она подразумевает сортировку по городам:
SELECT (Name, Age) FROM Clients WHERE Age > 20 GROUP BY City
С помощью соответствующей команды осуществляется возврат клиентов старше 20 лет. Затем происходит сортировка по городам. Главное – чтобы в таблице поддерживался столбец City.
HAVING
HAVING в отличие от оператора SELECT не является обязательным. Он позволяет группировать материалы по тем или иным условиям. Обычно используется совместно с GROUP By. По функциональности он напоминает WHERE.
Ниже – наглядный пример использования HAVING:
SELECT (Name, PaymentAmount, Age)
FROM Clients
WHERE Age > 20
GROUP BY City
HAVING PaymentAmount > 1000
Здесь команда с SELECT и HAVING позволяет выводить только клиентов, которые заказали не менее чем на 1000 рублей.
Далее каждая новая операция будет добавляться в качестве новой строки – это удобно и помогает не запутаться. На корректность команды соответствующая интерпретация записи не влияет. Такой подход положительно влияет только на степень читаемости.
ORDER BY
Дает возможность сортировать данные из SELECT FROM по возрастанию или убыванию. Оператор способен работать как с числами, так и с символами. В качестве параметра здесь указывается столбец, по которому необходимо выполнить сортировку.
SELECT (Name, PaymentAmount, Age)
FROM Clients
WHERE Age > 20
GROUP BY City
HAVING PaymentAmount > 1000
ORDER BY Age
В предложенном выше примере сортировка осуществляется по возрастанию. Именно так по умолчанию работает ORDER BY. Чтобы отсортировать информацию по убыванию, требуется использовать ключевое слово DESC.
Также есть и другие дополнительные операторы:
- VIEW;
- LIKE;
- UNION и другие.
Они используются более продвинутыми пользователями и на первых порах изучения команд с SELECT в MySQL не нужны.
Основы создания таблиц
Простые и самые распространенные операторы для работы с SQL вроде SELECT были представлены вниманию выше. И структура команды для выполнения операций с таблицами – тоже. Теперь можно изучить взаимодействие с табличными сведениями более подробно. Предстоит создать таблицу и постепенно заполнять ее информацией.
Создание таблицы и БД
CREATE DATABASE используется до SELECT. Эта операция позволяет создать БД. Выглядит она так:
CREATE DATABASE CatsCatsCats
Именно с такой записью предстоит работать далее. Следующий этап – формирование таблиц. Команда имеет такую форму как:
CREATE TABLE имя_таблицы (
колонка1 тип данных,
колонка2 тип данных,
…
колонкаN тип данных
);
SQL поддерживает множество типов данных:
- int – целое число;
- float – десятичное число;
- datetime – дата;
- varchar – строка.
В заданной таблице будут использоваться строки и целые числа. Выглядит это так:
Здесь добавлены 5 столбцов: идентификатор кота, его имя, возраст, цвет, имя владельца. А еще есть условие NOT NULL, чтобы ни одно из полей не было пустым.
Цифры рядом с типами данных указывают, сколько бит выделяется для поля. Сейчас заданная таблица пустует. Нужно заполнить ее информацией, чтобы использовать SELECT и другие операторы.
ALTER TABLE
ALTER TABLE позволяет добавить столбец в табличное хранилище. Пусть будет добавлен еще и город проживания кота:
В этой записи указывается, в какую таблицу нужно внести изменения. Далее используется ключевое слово ADD с указанием нового столбца и его типа данных.
ALTER TABLE имеет достаточно широкие возможности, но для начала использования SQL-операторов в MySQL они не нужны. С помощью этой записи можно удалять, а также редактировать существующие записи.
INSERT
INSERT позволяет добавлять новые строки. Для этого предстоит указать, какие столбцы требуется заполнить. После – передать значения через VALUES.
Здесь добавлены несколько котов. SELECT не используется, ведь с информацией работать пока не приходится. БД только заполняется материалами. Строки указываются в одинарных кавычках, а числа – без них вовсе. Одной операцией нельзя добавить сразу несколько строк.
Это – всего лишь основы использования разных команд в SQL-запросах. Более глубокие знания помогут получить дистанционные компьютерные курсы.
Прокачать навыки работы с базами данных можно на курсах Otus.
<!DOCTYPE html>
<html dir="ltr" lang="ru-RU">
<head>
<meta charset="UTF-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<title>Изучение SQL-команд на базе MySQL OTUS</title>
<!-- All in One SEO 4.5.2.1 - aioseo.com -->
<meta name="description" content="При работе с данными в информационных технологиях используются таблицы. Они объединяются в информационные базы (БД), управляемые специальным программным обеспечением – СУБД. В таком программном обеспечении необходимо формировать запросы для выполнения тех или иных команд. Сегодня предстоит познакомиться с языком запросов и управления информационными таблицами SQL. Он является наиболее известным и распространенным инструментом. В качестве примера" />
<meta name="robots" content="max-image-preview:large" />
<link rel="canonical" href="https://otus.ru/journal/izuchenie-sql-komand-na-baze-mysql/" />
<meta name="generator" content="All in One SEO (AIOSEO) 4.5.2.1" />
<script type="application/ld+json" class="aioseo-schema">
{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/otus.ru\/journal\/izuchenie-sql-komand-na-baze-mysql\/#article","name":"\u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 SQL-\u043a\u043e\u043c\u0430\u043d\u0434 \u043d\u0430 \u0431\u0430\u0437\u0435 MySQL OTUS","headline":"\u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 SQL-\u043a\u043e\u043c\u0430\u043d\u0434 \u043d\u0430 \u0431\u0430\u0437\u0435 MySQL","author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2024\/11\/oj-1080x720-1-1.jpg","width":2245,"height":1587},"datePublished":"2024-11-09T18:32:51+00:00","dateModified":"2024-11-09T18:32:54+00:00","inLanguage":"ru-RU","mainEntityOfPage":{"@id":"https:\/\/otus.ru\/journal\/izuchenie-sql-komand-na-baze-mysql\/#webpage"},"isPartOf":{"@id":"https:\/\/otus.ru\/journal\/izuchenie-sql-komand-na-baze-mysql\/#webpage"},"articleSection":"\u041f\u043e\u043b\u0435\u0437\u043d\u043e\u0435, mysql, SQL, \u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445"},{"@type":"BreadcrumbList","@id":"https:\/\/otus.ru\/journal\/izuchenie-sql-komand-na-baze-mysql\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/#listItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/otus.ru\/journal\/","nextItem":"https:\/\/otus.ru\/journal\/izuchenie-sql-komand-na-baze-mysql\/#listItem"},{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/izuchenie-sql-komand-na-baze-mysql\/#listItem","position":2,"name":"\u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 SQL-\u043a\u043e\u043c\u0430\u043d\u0434 \u043d\u0430 \u0431\u0430\u0437\u0435 MySQL","previousItem":"https:\/\/otus.ru\/journal\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/otus.ru\/journal\/#organization","name":"\u041e\u0442\u0443\u0441 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","url":"https:\/\/otus.ru\/journal\/","sameAs":["https:\/\/www.youtube.com\/channel\/UCetgtvy93o3i3CvyGXKFU3g"],"contactPoint":{"@type":"ContactPoint","telephone":"+74999389202","contactType":"Customer Support"}},{"@type":"Person","@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author","url":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/","name":"A. Pavlenko","image":{"@type":"ImageObject","@id":"https:\/\/otus.ru\/journal\/izuchenie-sql-komand-na-baze-mysql\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d4c499a104d7c2522fa41f89e6819499?s=96&d=mm&r=g","width":96,"height":96,"caption":"A. Pavlenko"}},{"@type":"WebPage","@id":"https:\/\/otus.ru\/journal\/izuchenie-sql-komand-na-baze-mysql\/#webpage","url":"https:\/\/otus.ru\/journal\/izuchenie-sql-komand-na-baze-mysql\/","name":"\u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 SQL-\u043a\u043e\u043c\u0430\u043d\u0434 \u043d\u0430 \u0431\u0430\u0437\u0435 MySQL OTUS","description":"\u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u041e\u043d\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0431\u0430\u0437\u044b (\u0411\u0414), \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c \u2013 \u0421\u0423\u0411\u0414. \u0412 \u0442\u0430\u043a\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u0445 \u0438\u043b\u0438 \u0438\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u044f\u0437\u044b\u043a\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 SQL. \u041e\u043d \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/otus.ru\/journal\/#website"},"breadcrumb":{"@id":"https:\/\/otus.ru\/journal\/izuchenie-sql-komand-na-baze-mysql\/#breadcrumblist"},"author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"creator":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2024\/11\/oj-1080x720-1-1.jpg","@id":"https:\/\/otus.ru\/journal\/izuchenie-sql-komand-na-baze-mysql\/#mainImage","width":2245,"height":1587},"primaryImageOfPage":{"@id":"https:\/\/otus.ru\/journal\/izuchenie-sql-komand-na-baze-mysql\/#mainImage"},"datePublished":"2024-11-09T18:32:51+00:00","dateModified":"2024-11-09T18:32:54+00:00"},{"@type":"WebSite","@id":"https:\/\/otus.ru\/journal\/#website","url":"https:\/\/otus.ru\/journal\/","name":"OTUS JOURNAL","description":"Blog about IT","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"}}]}
</script>
<!-- All in One SEO -->
<link rel='dns-prefetch' href='//otus.ru' />
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='stylesheet' id='wp-block-library-css' href='https://otus.ru/journal/wp-includes/css/dist/block-library/style.min.css?ver=6.4.7' type='text/css' media='all' />
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css' type='text/css'>
body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
</style>
<link rel='stylesheet' id='wbcr-comments-plus-url-span-css' href='https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/css/url-span.css?ver=2.2.0' type='text/css' media='all' />
<link rel='stylesheet' id='wpel-style-css' href='https://otus.ru/journal/wp-content/plugins/wp-external-links/public/css/wpel.css?ver=2.59' type='text/css' media='all' />
<link rel='stylesheet' id='ez-toc-css' href='https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.61' type='text/css' media='all' />
<style id='ez-toc-inline-css' type='text/css'>
div#ez-toc-container .ez-toc-title {font-size: 120%;}div#ez-toc-container .ez-toc-title {font-weight: 500;}div#ez-toc-container ul li {font-size: 95%;}div#ez-toc-container nav ul ul li {font-size: 90%;}
.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul{counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul{counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }
</style>
<link rel='stylesheet' id='contentberg-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C500%2C700%7CPT+Serif%3A400%2C400i%2C600%7CIBM+Plex+Serif%3A500' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-core-css' href='https://otus.ru/journal/wp-content/themes/contentberg/style.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-lightbox-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/lightbox.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='font-awesome-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/fontawesome/css/font-awesome.min.css?ver=1.8.3' type='text/css' media='all' />
<script type="text/javascript" id="breeze-prefetch-js-extra">
/* <![CDATA[ */
var breeze_prefetch = {"local_url":"https:\/\/otus.ru\/journal","ignore_remote_prefetch":"1","ignore_list":["\/wp-admin\/"]};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js" id="breeze-prefetch-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/lazysizes.js" id="lazysizes-js"></script>
<link rel="https://api.w.org/" href="https://otus.ru/journal/wp-json/" /><link rel="alternate" type="application/json" href="https://otus.ru/journal/wp-json/wp/v2/posts/11146" /><link rel='shortlink' href='https://otus.ru/journal/?p=11146' />
<link rel="alternate" type="application/json+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fizuchenie-sql-komand-na-baze-mysql%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fizuchenie-sql-komand-na-baze-mysql%2F&format=xml" />
<script>var Sphere_Plugin = {"ajaxurl":"https:\/\/otus.ru\/journal\/wp-admin\/admin-ajax.php"};</script><link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-270x270.png" />
<style type="text/css" id="wp-custom-css">
#menu-item-10406 .wpel-icon {
display: none;
}
#menu-item-10407 .wpel-icon {
display: none;
}
.otus-login-site a .wpel-icon {
display: none;
}
.menu-menju-navykov-container a .wpel-icon {
display: none;
}
.otus-login-site a
{
background: #ffd709;
border-radius: 12px;
color: #0f0f10;
font-size: 14px;
font-weight: 700;
line-height: 20px;
display: block;
text-align: center;
padding: 8px 25px;
}
.main-footer.dark {
background: linear-gradient(90deg, #a64fc5, #4f54e6);
border-color: transparent;
}
.main-footer.bold .copyright {
color: #fff;
}
.main-footer.bold .to-top i {
color: #fff;
}
.main-footer.bold .back-to-top {
color: #fff;
}
.nav__scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.scrollable-menu .menu {
display: flex;
}
.nav__scroll
{
background: linear-gradient(90deg, #a64fc5, #4f54e6);
}
.scrollable-menu .menu .menu-item {
flex: 0 0 auto;
padding: 15px 15px;
}
.scrollable-menu .menu .menu-item a {
color: #fff;
}
.nav__scroll::-webkit-scrollbar{background-color:#fff;height:5px;}
.nav__scroll::-webkit-scrollbar-thumb{background-color:#dcdcdc;}
.nav__scroll::-webkit-scrollbar-track{-webkit-border-radius:0;border-radius:0;background-color:#fff;}/
body {
min-width: 320px;
}
.banner-click img {
margin: 0 auto;
display: block;
}
.banner-click {
cursor: pointer;
}
.banner-footer-area {
margin-bottom: 20px;
}
.banner-left-area {
margin-top: 40px;
} </style>
<!--Start VDZ Yandex Metrika Plugin-->
<!-- Yandex.Metrika counter --><script type="text/javascript" >(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");ym(34531570, "init", {clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true, ecommerce:"dataLayer"});</script>
<noscript><div><img src="https://mc.yandex.ru/watch/34531570" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --><!--START ADD EVENTS FROM CF7--><script type='text/javascript'>document.addEventListener( 'wpcf7submit', function( event ) {
//event.detail.contactFormId;
if(ym){
//console.log(event.detail);
ym(34531570, 'reachGoal', 'VDZ_SEND_CONTACT_FORM_7');
ym(34531570, 'params', {
page_url: window.location.href,
status: event.detail.status,
locale: event.detail.contactFormLocale,
form_id: event.detail.contactFormId,
});
}
}, false );
</script><!--END ADD EVENTS FROM CF7-->
<!--End VDZ Yandex Metrika Plugin-->
</head>
<body class="post-template-default single single-post postid-11146 single-format-standard right-sidebar lazy-normal has-lb">
<div class="main-wrap">
<header id="main-head" class="main-head head-nav-below has-search-modal simple simple-boxed">
<div class="inner inner-head" data-sticky-bar="0">
<div class="wrap cf wrap-head">
<div class="left-contain">
<span class="mobile-nav"><i class="fa fa-bars"></i></span>
<div class="title">
<a href="https://otus.ru/journal/" title="OTUS JOURNAL" rel="home" data-wpel-link="internal">
<span class="text-logo"><img src="/journal/wp-content/themes/contentberg/img/logo_site.svg" alt="OTUS JOURNAL"></span>
</a>
</div>
</div>
<div class="navigation-wrap inline">
<nav class="navigation inline simple light" data-sticky-bar="0">
<div class="menu-rubriki-container"><ul id="menu-rubriki" class="menu"><li id="menu-item-109" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-1 menu-item-109"><a href="https://otus.ru/journal/category/pro-it/" data-wpel-link="internal"><span>Про IT</span></a></li>
<li id="menu-item-113" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-cat-4 menu-item-113"><a href="https://otus.ru/journal/category/polza/" data-wpel-link="internal"><span>Полезное</span></a></li>
<li id="menu-item-114" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-3 menu-item-114"><a href="https://otus.ru/journal/category/lifestyle/" data-wpel-link="internal"><span>Лайфстайл</span></a></li>
<li id="menu-item-10406" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10406"><a href="https://otus.ru/catalog/courses" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Обучение</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10407" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10407"><a href="https://otus.ru/about" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Информация</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </nav>
</div>
<div class="actions">
<div class="otus-login-site">
<a href="https://otus.ru/login/" target="_blank" data-wpel-link="external" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Войти<span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
<a href="#" title="Search" class="search-link"><i class="fa fa-search"></i></a>
</div>
</div>
</div>
</header> <!-- .main-head -->
<div class="nav nav_disable nav_colored nav_transparent course-categories__nav nav__scroll ">
<div class="container wrap">
<div class="links inline simple light scrollable-menu">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov" class="menu"><li id="menu-item-10413" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10414" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10418" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10419" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10420" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
</div>
</div>
<div class="main wrap">
<div class="ts-row cf">
<div class="col-8 main-content cf">
<article id="post-11146" class="the-post post-11146 post type-post status-publish format-standard has-post-thumbnail category-polza tag-mysql tag-sql tag-bazy-dannyh">
<header class="post-header the-post-header cf">
<div class="post-meta the-post-meta">
<span class="post-cat">
<a href="https://otus.ru/journal/category/polza/" class="category" data-wpel-link="internal">Полезное</a>
</span>
<h1 class="post-title">
Изучение SQL-команд на базе MySQL
</h1>
<a href="https://otus.ru/journal/izuchenie-sql-komand-na-baze-mysql/" class="date-link" data-wpel-link="internal"><time class="post-date">9 ноября, 2024</time></a>
</div>
<div class="featured">
<a href="https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-1-1.jpg" class="image-link" data-wpel-link="internal"><img width="770" height="515" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20770%20515%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-contentberg-main size-contentberg-main lazyload wp-post-image" alt="Изучение SQL-команд на базе MySQL" title="Изучение SQL-команд на базе MySQL" decoding="async" fetchpriority="high" data-srcset="https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-1-1-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-1-1-270x180.jpg 270w" data-src="https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-1-1-770x515.jpg" data-sizes="(max-width: 770px) 100vw, 770px" /> </a>
</div>
</header><!-- .post-header -->
<div class="post-content description cf entry-content content-normal">
<div id="ez-toc-container" class="ez-toc-v2_0_61 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title " >Содержание</p>
<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="#MySQL_%E2%80%93_%D1%8D%D1%82%D0%BE%E2%80%A6" title="MySQL – это…">MySQL – это…</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-2" href="#%D0%94%D0%BB%D1%8F_%D1%87%D0%B5%D0%B3%D0%BE_%D0%BD%D0%B5%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B8%D0%BC%D0%B0_MySQL" title="Для чего необходима MySQL">Для чего необходима MySQL</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-3" href="#%D0%9F%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B8_%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8" title="Преимущества и недостатки">Преимущества и недостатки</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="#%D0%92%D0%B8%D0%B4%D1%8B_SQL-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4" title="Виды SQL-команд">Виды SQL-команд</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="#%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_SQL-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B" title="Структура SQL-команды">Структура SQL-команды</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-6" href="#Select" title="Select">Select</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-7" href="#FROM" title="FROM">FROM</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-8" href="#WHERE" title="WHERE">WHERE</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-9" href="#GROUP_BY" title="GROUP BY">GROUP BY</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-10" href="#HAVING" title="HAVING">HAVING</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-11" href="#ORDER_BY" title="ORDER BY">ORDER BY</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-12" href="#%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F_%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86" title="Основы создания таблиц">Основы создания таблиц</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-13" href="#%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B_%D0%B8_%D0%91%D0%94" title="Создание таблицы и БД">Создание таблицы и БД</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-14" href="#ALTER_TABLE" title="ALTER TABLE">ALTER TABLE</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-15" href="#INSERT" title="INSERT">INSERT</a></li></ul></li></ul></nav></div>
<h1 class="wp-block-heading"></h1>
<p>При работе с данными в информационных технологиях используются таблицы. Они объединяются в информационные базы (БД), управляемые специальным программным обеспечением – СУБД. В таком программном обеспечении необходимо формировать запросы для выполнения тех или иных команд.</p>
<p>Сегодня предстоит познакомиться с языком запросов и управления информационными таблицами SQL. Он является наиболее известным и распространенным инструментом. В качестве примера будет взята СУБД MySQL.</p>
<p>Ниже представлена краткая характеристика упомянутой системы управления базами данных, ее особенности, а также ключевые команды SQL для работы с таблицами. Эти сведения пригодятся не только IT-специалистам, но и другим ПК-пользователям. В идеале – всем, кто работает с цифровыми таблицами и большими информационными объемами.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="MySQL_%E2%80%93_%D1%8D%D1%82%D0%BE%E2%80%A6"></span>MySQL – это…<span class="ez-toc-section-end"></span></h2>
<p>MySQL – реляционная система управления базами данных, распространяемая совершенно свободно (бесплатно). Это наиболее распространенное и популярное программное обеспечение при работе с информационными таблицами. Оно отличается своей гибкостью, легкостью и удобством в плане эксплуатации.</p>
<p>Термин «реляционный» указывает на то, что базы будут представлены в виде связанной информации. Они описываются как некоторый набор связей.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%94%D0%BB%D1%8F_%D1%87%D0%B5%D0%B3%D0%BE_%D0%BD%D0%B5%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B8%D0%BC%D0%B0_MySQL"></span>Для чего необходима MySQL<span class="ez-toc-section-end"></span></h3>
<p>MySQL – удобный инструмент для обработки информационных таблиц. Он используется для разных целей:</p>
<ul>
<li>получение быстрого доступа к БД;</li>
<li>корректное и грамотное хранение информации в пределах сервера;</li>
<li>оперативный поиск тех или иных сведений при помощи языка запросов SQL;</li>
<li>идентификация и обработка отдельной информации, а также ее преобразование и отправка получателю;</li>
<li>предоставление возможности создания, удаления, редактирования уже имеющихся в таблицах сведений;</li>
<li>отправка транзакций – «пакетов», состоящих из нескольких запросов к БД;</li>
<li>выдача разнообразных прав доступа пользователям;</li>
<li>множественный доступ к БД с различных устройств;</li>
<li>контроль состояния электронных информационных таблиц;</li>
<li>возможность контролировать версии БД: создавать бэкапы, обновлять БД, а также осуществлять ее откат.</li>
</ul>
<p>MySQL – удобный и современный инструмент для обработки информационных связанных таблиц (БД). Это программное обеспечение имеет как преимущества, так и недостатки. Знать о них необходимо еще до того, как пользователь приступит к более детальному изучению SQL на основе соответствующей СУБД.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B8_%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8"></span>Преимущества и недостатки<span class="ez-toc-section-end"></span></h3>
<p>MySQL – программное обеспечение со своими сильными и слабыми сторонами. К ее основным преимуществам можно отнести:</p>
<ol>
<li>Высокую степень гибкости. Данный инструмент легко настраивается под индивидуальные потребности и особенности конкретного проекта. Для MySQL поддерживается огромное количество расширений и плагинов. С установкой СУБД на хостинги тоже не возникает никаких проблем – иногда для этого достаточно выполнить несколько кликов.</li>
<li>Универсальность. MySQL – кроссплатформенное программное обеспечение. Оно будет успешно функционировать на Unix, Linux, Windows, Solaris и других системах. У него также есть API для большинства популярных языков разработки.</li>
<li>Высокий уровень производительности. Если использовать средние и небольшие таблицы информации, MySQL справится с ними очень быстро. Это связано с особенностями внутренней структуры системы управления БД.</li>
<li>Бесплатное распространение и открытый исходный код. Это делает рассматриваемую СУБД широко доступной. Она применяется не только опытными специалистами, но и новичками.</li>
<li>Безопасность. MySQL способна обеспечить высокий уровень безопасности в процессе хранения данных и информационного обмена. У СУБД продвинутая система контроля прав для тех или иных пользователей, поддерживается шифрование и верификация. А еще для MySQL поддерживаются плагины, увеличивающие на стороне сервера уровень безопасности.</li>
</ol>
<p>Перед изучением SQL-запросов на базе рассматриваемой СУБД нужно учитывать некоторые ее недостатки. А именно:</p>
<ol>
<li>Медленное развитие. Система является бесплатной, поэтому обновления для нее – редкость. Это наиболее распространенный недостаток свободного программного обеспечения.</li>
<li>Не самый большой функционал. Рассматриваемая СУБД по умолчанию обладает меньшим количество функций и возможностей, чем ее конкуренты. За счет такого подхода удается обеспечивать простоту программы и легкость в ее освоении. Для дополнительных операций придется устанавливать расширения и плагины.</li>
<li>Падение уровня производительности при работе с крупными проектами. Упомянутая СУБД лучше всего подходит для небольших и средних хранилищ таблиц. В случае с крупными проектами система может вести себя непредсказуемо из-за множества одновременных запросов в информационной базе. Производительность в таком случае сильно падает.</li>
</ol>
<p>Снижение производительности MySQL в больших проектах не должно отталкивать. Этот недостаток просто необходимо учесть при выборе СУБД. Изначально упомянутое программное обеспечение не было предназначено для масштабных и связанных друг с другом таблиц.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%92%D0%B8%D0%B4%D1%8B_SQL-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4"></span>Виды SQL-команд<span class="ez-toc-section-end"></span></h2>
<p>SQL – это язык запросов, используемый для манипулирования реляционными базами данных. В таких хранилищах сведения будут храниться в качестве связанных друг с другом таблиц. SQL помогает выполнять разнообразные операции с имеющимися электронными материалами: добавлять запись, изменять их, удалять и так далее.</p>
<p>SQL – инструмент, который лежит в основе систем управления реляционными базами данных. Синтаксис SQL напоминает обычные предложения. Он состоит из ключевых слов и аргументов.</p>
<p>У SQL все команды условно делятся на несколько разновидностей:</p>
<ol>
<li>DDL или Data Definition Language. Такие команды необходимы для того, чтобы определять материалы. Соответствующие запросы позволяют очень быстро настраивать БД с таблицами – создавать их и прописывать структуры. В качестве примеров можно привести такие запросы как: DROP, CREATE, ALTER, RENAME.</li>
<li>DML или Data Manipulation Language. Данный тип команд для работы с таблицами позволяет управлять информацией в хранилищах. Такие запросы дают возможность обновления, добавления, удаления и выбора информации. Примеры: SELECT, DELETE, UPDATE, INSERT.</li>
<li>DCL или Data Control Language. Так называются запросы для выдачи или отзыва прав доступа пользователям. В качестве примеров стоит привести: DENY, GRANT и REVOKE.</li>
<li>TCL или Transaction Control Language. Этот вариант запросов используется для управления транзакциями. В качестве таковых выступают команды с подтверждением или отказом изменений в таблицах БД. Примерами служат запросы: ROLLBACK, COMMIT, BEGIN.</li>
</ol>
<p>Теперь можно изучить принцип обращения с SQL-командами более детально. Ниже представлены принципы, по которым получится делать простые запросы к БД через MySQL.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_SQL-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B"></span>Структура SQL-команды<span class="ez-toc-section-end"></span></h2>
<p>Команды SQL напоминают обычные предложения, но написанные на английском языке. С их помощью удается указывать действия, необходимые для выполнения различных манипуляций.</p>
<p>Наиболее распространенными являются операторы:</p>
<ol>
<li>Select – используется для выбора отдельных столбцов или всей таблицы целиком. Является обязательным во всех запросах в информационных таблицах.</li>
<li>From – оператор, указывающий на то, из какой таблицы происходит считывание информации. Как и Select, является обязательным.</li>
<li>Where – условие выборки информации.</li>
<li>Group By – столбец, по которому будет осуществляться группировка имеющихся материалов.</li>
<li>Having – условие фильтрации сгруппированных ранее материалов.</li>
<li>Order By – столбец, по которому данные будут отсортированы.</li>
</ol>
<p>Чтобы лучше понимать запросы в базе MySQL, далее предстоит рассмотреть предложенные выше операторы более подробно. Первые два элемента в списке являются обязательными. Без них невозможно составить ни одну дальнейшую операцию.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="Select"></span>Select<span class="ez-toc-section-end"></span></h3>
<p>Любая команда начинается с ключевого слова или действия, которое должно осуществиться. В качестве примеров можно выделить вставку новой строки, выборку строк, изменение заданной таблицы частично или целиком.</p>
<p>Одним из ключевых слов служит SELECT. С его помощью осуществляется выборка отдельных столбцов или всей таблицы. Это необходимо для дальнейшей передачи данных другим запросам на обработку.</p>
<p>Вот наглядный пример использования этого оператора:</p>
<p><code>SELECT (Name, Age) FROM Clients</code></p>
<p>Здесь на вывод будут поставлены все строки таблицы Clients, которые принадлежат к столбцам Age и Name.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="FROM"></span>FROM<span class="ez-toc-section-end"></span></h3>
<p>FROM, как и SELECT, является еще одной обязательной частью. Команда ставится после SELECT и необходима для указания, из какой таблицы или информационного источника брать материалы. Обычно в этом операторе прописывается название таблицы, с которым предстоит работать.</p>
<p>В SQL все базируется на работе с таблицами. Именно поэтому для получения информации из того или иного места прописывается табличное название.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="WHERE"></span>WHERE<span class="ez-toc-section-end"></span></h3>
<p>WHERE используется для фильтрации данных. С его помощью в запросе можно делать условие, которому должны удовлетворять все строки, выводимые на экран в результате выполнения команды.</p>
<p>Если дополнить ранее предложенный пример оператором WHERE, можно сделать такую команду:</p>
<p><code>SELECT (Name, Age) FROM Clients WHERE Age >20</code></p>
<p>Здесь на экран будут выводиться данные, принадлежащие к Name и Age, но только те, у которых Age больше 20.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="GROUP_BY"></span>GROUP BY<span class="ez-toc-section-end"></span></h3>
<p>Оператор, который помогает группировать информацию по тем или иным столбцам. Результатом становится новая таблица, построенная на основе ранее выбранных материалов.</p>
<p>Вот дополненная версия предыдущего запроса – она подразумевает сортировку по городам:</p>
<p><code>SELECT (Name, Age) FROM Clients WHERE Age > 20 GROUP BY City</code></p>
<p>С помощью соответствующей команды осуществляется возврат клиентов старше 20 лет. Затем происходит сортировка по городам. Главное – чтобы в таблице поддерживался столбец City.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="HAVING"></span>HAVING<span class="ez-toc-section-end"></span></h3>
<p>HAVING в отличие от оператора SELECT не является обязательным. Он позволяет группировать материалы по тем или иным условиям. Обычно используется совместно с GROUP By. По функциональности он напоминает WHERE.</p>
<p>Ниже – наглядный пример использования HAVING:</p>
<pre class="wp-block-code"><code>SELECT (Name, PaymentAmount, Age)
FROM Clients
WHERE Age > 20
GROUP BY City
HAVING PaymentAmount > 1000</code></pre>
<p></p>
<p>Здесь команда с SELECT и HAVING позволяет выводить только клиентов, которые заказали не менее чем на 1000 рублей.</p>
<p>Далее каждая новая операция будет добавляться в качестве новой строки – это удобно и помогает не запутаться. На корректность команды соответствующая интерпретация записи не влияет. Такой подход положительно влияет только на степень читаемости.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="ORDER_BY"></span>ORDER BY<span class="ez-toc-section-end"></span></h3>
<p>Дает возможность сортировать данные из SELECT FROM по возрастанию или убыванию. Оператор способен работать как с числами, так и с символами. В качестве параметра здесь указывается столбец, по которому необходимо выполнить сортировку.</p>
<pre class="wp-block-code"><code>SELECT (Name, PaymentAmount, Age)
FROM Clients
WHERE Age > 20
GROUP BY City
HAVING PaymentAmount > 1000
ORDER BY Age</code></pre>
<p></p>
<p>В предложенном выше примере сортировка осуществляется по возрастанию. Именно так по умолчанию работает ORDER BY. Чтобы отсортировать информацию по убыванию, требуется использовать ключевое слово DESC.</p>
<p>Также есть и другие дополнительные операторы:</p>
<ul>
<li>VIEW;</li>
<li>LIKE;</li>
<li>UNION и другие.</li>
</ul>
<p>Они используются более продвинутыми пользователями и на первых порах изучения команд с SELECT в MySQL не нужны.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F_%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86"></span>Основы создания таблиц<span class="ez-toc-section-end"></span></h2>
<p>Простые и самые распространенные операторы для работы с SQL вроде SELECT были представлены вниманию выше. И структура команды для выполнения операций с таблицами – тоже. Теперь можно изучить взаимодействие с табличными сведениями более подробно. Предстоит создать таблицу и постепенно заполнять ее информацией.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B_%D0%B8_%D0%91%D0%94"></span>Создание таблицы и БД<span class="ez-toc-section-end"></span></h3>
<p>CREATE DATABASE используется до SELECT. Эта операция позволяет создать БД. Выглядит она так:</p>
<p><code>CREATE DATABASE CatsCatsCats</code></p>
<p>Именно с такой записью предстоит работать далее. Следующий этап – формирование таблиц. Команда имеет такую форму как:</p>
<pre class="wp-block-code"><code>CREATE TABLE имя_таблицы (
колонка1 тип данных,
колонка2 тип данных,
…
колонкаN тип данных
);</code></pre>
<p></p>
<p>SQL поддерживает множество типов данных:</p>
<ul>
<li>int – целое число;</li>
<li>float – десятичное число;</li>
<li>datetime – дата;</li>
<li>varchar – строка.</li>
</ul>
<p>В заданной таблице будут использоваться строки и целые числа. Выглядит это так:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdYhHhY4FPj_UWN1JqvBRW5stzlQ1dJF_V-pwEMlVbqbNkrIOREHBObsGogG4hwakV9g06ywmcvw19FCHATcJhuJ0C8Wbd08v8ebE_KFBEh9E2QnT4dJ9z34TgQNyy2x9t7UE8nAi0RyC0oH04NWQ?key=O_OR9lYSry5s0-SIFjuIjz_u" alt="Изучение SQL-команд на базе MySQL"/></figure>
<p>Здесь добавлены 5 столбцов: идентификатор кота, его имя, возраст, цвет, имя владельца. А еще есть условие NOT NULL, чтобы ни одно из полей не было пустым.</p>
<p>Цифры рядом с типами данных указывают, сколько бит выделяется для поля. Сейчас заданная таблица пустует. Нужно заполнить ее информацией, чтобы использовать SELECT и другие операторы.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="ALTER_TABLE"></span>ALTER TABLE<span class="ez-toc-section-end"></span></h3>
<p>ALTER TABLE позволяет добавить столбец в табличное хранилище. Пусть будет добавлен еще и город проживания кота:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeF1j8gU-rfBL1jlNu2HNRy-JywD1kPC4RmOTr-G2h9Egq2ITBZpJFK67FuMhs7w_PVI_YTGRz90qZt-SNLM91VTWMDtp8U5SsM-jDY4jZa_W1vLuE6X8icyrsl8gi_Ya5GEzgy38u8iRV4HvACwvg?key=O_OR9lYSry5s0-SIFjuIjz_u" alt="Изучение SQL-команд на базе MySQL"/></figure>
<p>В этой записи указывается, в какую таблицу нужно внести изменения. Далее используется ключевое слово ADD с указанием нового столбца и его типа данных.</p>
<p>ALTER TABLE имеет достаточно широкие возможности, но для начала использования SQL-операторов в MySQL они не нужны. С помощью этой записи можно удалять, а также редактировать существующие записи.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="INSERT"></span>INSERT<span class="ez-toc-section-end"></span></h3>
<p>INSERT позволяет добавлять новые строки. Для этого предстоит указать, какие столбцы требуется заполнить. После – передать значения через VALUES.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdBuiaDzO8ao9luJ9RUfj-XBqwK3U6FI4Nuk3tbLv_fkiKNn9_za858rlVVq88oovBBKmLoYzJALJu0jMfsLH-zpm0oC7Ozv5gi5y1L6P2xUMwFgDiMm5GuLoIXZRU0QZHK4EaCmZePisQHwsSZhtU?key=O_OR9lYSry5s0-SIFjuIjz_u" alt="Изучение SQL-команд на базе MySQL"/></figure>
<p>Здесь добавлены несколько котов. SELECT не используется, ведь с информацией работать пока не приходится. БД только заполняется материалами. Строки указываются в одинарных кавычках, а числа – без них вовсе. Одной операцией нельзя добавить сразу несколько строк.</p>
<p>Это – всего лишь основы использования разных команд в SQL-запросах. Более глубокие знания помогут получить дистанционные компьютерные курсы.</p>
<p><em>Прокачать <a href="https://otus.ru/lessons/subd/?utm_source=oj&utm_medium=affilate&utm_campaign=subd" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external" class="wpel-icon-right">навыки работы с базами данных<span class="wpel-icon wpel-image wpel-icon-6"></span></a> можно на курсах Otus.</em></p>
</div><!-- .post-content -->
<div class="the-post-foot cf">
<div class="tag-share cf">
<div class="post-tags"><a href="https://otus.ru/journal/tag/mysql/" rel="tag" data-wpel-link="internal">mysql</a><a href="https://otus.ru/journal/tag/sql/" rel="tag" data-wpel-link="internal">SQL</a><a href="https://otus.ru/journal/tag/bazy-dannyh/" rel="tag" data-wpel-link="internal">Базы данных</a></div>
<div class="post-share">
<div class="post-share-icons cf">
<span class="counters">
</span>
<a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fotus.ru%2Fjournal%2Fizuchenie-sql-komand-na-baze-mysql%2F" class="link facebook wpel-icon-right" target="_blank" title="Share on Facebook" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-facebook"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fizuchenie-sql-komand-na-baze-mysql%2F&text=%D0%98%D0%B7%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%20SQL-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%20%D0%BD%D0%B0%20%D0%B1%D0%B0%D0%B7%D0%B5%20MySQL" class="link twitter wpel-icon-right" target="_blank" title="Share on Twitter" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-twitter"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fotus.ru%2Fjournal%2Fizuchenie-sql-komand-na-baze-mysql%2F" class="link linkedin wpel-icon-right" target="_blank" title="LinkedIn" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-linkedin"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fizuchenie-sql-komand-na-baze-mysql%2F&media=https%3A%2F%2Fotus.ru%2Fjournal%2Fwp-content%2Fuploads%2F2024%2F11%2Foj-1080x720-1-1.jpg&description=%D0%98%D0%B7%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%20SQL-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%20%D0%BD%D0%B0%20%D0%B1%D0%B0%D0%B7%D0%B5%20MySQL" class="link pinterest wpel-icon-right" target="_blank" title="Pinterest" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-pinterest-p"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
</div>
</div>
</div>
<div class="post-nav">
<div class="post previous cf">
<a href="https://otus.ru/journal/arhitektura-informacionnoj-sistemy-obshhaya-rabochaya-oblast-mezhdu-zakazchikom-genpodryadchikom-i-podryadchikami/" title="Prev Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-left"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/arhitektura-informacionnoj-sistemy-obshhaya-rabochaya-oblast-mezhdu-zakazchikom-genpodryadchikom-i-podryadchikami/" class="image-link" rel="previous" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Архитектура информационной системы «Общая рабочая область между заказчиком, генподрядчиком и подрядчиками» " decoding="async" data-srcset="https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-1-150x106.jpg 150w, https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-1-300x212.jpg 300w, https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-1-1024x724.jpg 1024w, https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-1-768x543.jpg 768w, https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-1-1536x1086.jpg 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-1-150x106.jpg" data-sizes="(max-width: 150px) 100vw, 150px" title="Архитектура информационной системы «Общая рабочая область между заказчиком, генподрядчиком и подрядчиками» " /> </a>
<div class="post-meta">
<span class="label">Prev Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/arhitektura-informacionnoj-sistemy-obshhaya-rabochaya-oblast-mezhdu-zakazchikom-genpodryadchikom-i-podryadchikami/" data-wpel-link="internal">Архитектура информационной системы «Общая рабочая область между заказчиком, генподрядчиком и подрядчиками» </a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/arhitektura-informacionnoj-sistemy-obshhaya-rabochaya-oblast-mezhdu-zakazchikom-genpodryadchikom-i-podryadchikami/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2024-11-06T20:43:47+00:00">6 ноября, 2024</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">3 Mins Read</span>
</div>
</div> </div>
</span>
</div>
<div class="post next cf">
<a href="https://otus.ru/journal/sozdanie-zagruzochnoj-flesh-karty-s-linux-ubuntu/" title="Next Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-right"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/sozdanie-zagruzochnoj-flesh-karty-s-linux-ubuntu/" class="image-link" rel="next" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Создание загрузочной флеш-карты с Linux Ubuntu" decoding="async" data-srcset="https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-2-150x106.jpg 150w, https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-2-300x212.jpg 300w, https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-2-1024x724.jpg 1024w, https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-2-768x543.jpg 768w, https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-2-1536x1086.jpg 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2024/11/oj-1080x720-2-150x106.jpg" data-sizes="(max-width: 150px) 100vw, 150px" title="Создание загрузочной флеш-карты с Linux Ubuntu" /> </a>
<div class="post-meta">
<span class="label">Next Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/sozdanie-zagruzochnoj-flesh-karty-s-linux-ubuntu/" data-wpel-link="internal">Создание загрузочной флеш-карты с Linux Ubuntu</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/sozdanie-zagruzochnoj-flesh-karty-s-linux-ubuntu/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2024-11-09T19:03:30+00:00">9 ноября, 2024</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">5 Mins Read</span>
</div>
</div> </div>
</span>
</div>
</div>
<section class="related-posts grid-3">
<h4 class="section-head"><span class="title">Читать ещё</span></h4>
<div class="ts-row posts cf">
<article class="post col-4">
<a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" title="Уровень готовности CTO к 2026" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Уровень готовности CTO к 2026" title="Уровень готовности CTO к 2026" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" class="post-link" data-wpel-link="internal">Уровень готовности CTO к 2026</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-16T19:50:59+00:00">16 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" title="Новые уроки ноября: только топ-темы по программированию" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Новые уроки ноября: только топ-темы по программированию" title="Новые уроки ноября: только топ-темы по программированию" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" class="post-link" data-wpel-link="internal">Новые уроки ноября: только топ-темы по программированию</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-09T23:24:11+00:00">9 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/schjot-idjot-na-chasy/" title="Счёт идёт на часы" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Счёт идёт на часы" title="Счёт идёт на часы" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-370x245.png 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/schjot-idjot-na-chasy/" class="post-link" data-wpel-link="internal">Счёт идёт на часы</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-10-30T15:04:59+00:00">30 октября, 2025</time>
</div>
</div>
</article >
</div>
</section>
</article> <!-- .the-post -->
</div>
<aside class="col-4 sidebar">
<div class="inner">
<ul>
<li id="search-2" class="widget widget_search"><h5 class="widget-title"><span>Поиск по блогу</span></h5>
<form method="get" class="search-form" action="https://otus.ru/journal/">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Введите запрос и нажмите Enter" value="" name="s" title="Search for:" />
</label>
<button type="submit" class="search-submit"><i class="fa fa-search"></i></button>
</form>
</li>
<li id="tag_cloud-5" class="widget widget_tag_cloud"><h5 class="widget-title"><span>Метки</span></h5><div class="tagcloud"><a href="https://otus.ru/journal/tag/android-2/" class="tag-cloud-link tag-link-74 tag-link-position-1" style="font-size: 12.472222222222pt;" aria-label="Android (34 элемента)" data-wpel-link="internal">Android</a>
<a href="https://otus.ru/journal/tag/c-3/" class="tag-cloud-link tag-link-91 tag-link-position-2" style="font-size: 10.916666666667pt;" aria-label="C (23 элемента)" data-wpel-link="internal">C</a>
<a href="https://otus.ru/journal/tag/c-2/" class="tag-cloud-link tag-link-81 tag-link-position-3" style="font-size: 12.666666666667pt;" aria-label="C# (35 элементов)" data-wpel-link="internal">C#</a>
<a href="https://otus.ru/journal/tag/c/" class="tag-cloud-link tag-link-20 tag-link-position-4" style="font-size: 12.472222222222pt;" aria-label="c++ (34 элемента)" data-wpel-link="internal">c++</a>
<a href="https://otus.ru/journal/tag/computer-science/" class="tag-cloud-link tag-link-209 tag-link-position-5" style="font-size: 15.972222222222pt;" aria-label="computer science (78 элементов)" data-wpel-link="internal">computer science</a>
<a href="https://otus.ru/journal/tag/css/" class="tag-cloud-link tag-link-288 tag-link-position-6" style="font-size: 8.6805555555556pt;" aria-label="CSS (13 элементов)" data-wpel-link="internal">CSS</a>
<a href="https://otus.ru/journal/tag/data-science/" class="tag-cloud-link tag-link-151 tag-link-position-7" style="font-size: 8pt;" aria-label="Data Science (11 элементов)" data-wpel-link="internal">Data Science</a>
<a href="https://otus.ru/journal/tag/devops/" class="tag-cloud-link tag-link-98 tag-link-position-8" style="font-size: 10.138888888889pt;" aria-label="devops (19 элементов)" data-wpel-link="internal">devops</a>
<a href="https://otus.ru/journal/tag/docker/" class="tag-cloud-link tag-link-143 tag-link-position-9" style="font-size: 8.2916666666667pt;" aria-label="Docker (12 элементов)" data-wpel-link="internal">Docker</a>
<a href="https://otus.ru/journal/tag/gamedev/" class="tag-cloud-link tag-link-25 tag-link-position-10" style="font-size: 11.694444444444pt;" aria-label="gamedev (28 элементов)" data-wpel-link="internal">gamedev</a>
<a href="https://otus.ru/journal/tag/hr/" class="tag-cloud-link tag-link-103 tag-link-position-11" style="font-size: 8pt;" aria-label="hr (11 элементов)" data-wpel-link="internal">hr</a>
<a href="https://otus.ru/journal/tag/html/" class="tag-cloud-link tag-link-217 tag-link-position-12" style="font-size: 11.208333333333pt;" aria-label="HTML (25 элементов)" data-wpel-link="internal">HTML</a>
<a href="https://otus.ru/journal/tag/ios/" class="tag-cloud-link tag-link-101 tag-link-position-13" style="font-size: 8.9722222222222pt;" aria-label="iOS (14 элементов)" data-wpel-link="internal">iOS</a>
<a href="https://otus.ru/journal/tag/it/" class="tag-cloud-link tag-link-50 tag-link-position-14" style="font-size: 10.527777777778pt;" aria-label="IT (21 элемент)" data-wpel-link="internal">IT</a>
<a href="https://otus.ru/journal/tag/java/" class="tag-cloud-link tag-link-75 tag-link-position-15" style="font-size: 15.680555555556pt;" aria-label="Java (73 элемента)" data-wpel-link="internal">Java</a>
<a href="https://otus.ru/journal/tag/javascript/" class="tag-cloud-link tag-link-83 tag-link-position-16" style="font-size: 14.319444444444pt;" aria-label="JavaScript (53 элемента)" data-wpel-link="internal">JavaScript</a>
<a href="https://otus.ru/journal/tag/linux/" class="tag-cloud-link tag-link-141 tag-link-position-17" style="font-size: 11.888888888889pt;" aria-label="Linux (29 элементов)" data-wpel-link="internal">Linux</a>
<a href="https://otus.ru/journal/tag/machine-learning/" class="tag-cloud-link tag-link-167 tag-link-position-18" style="font-size: 8.6805555555556pt;" aria-label="Machine Learning (13 элементов)" data-wpel-link="internal">Machine Learning</a>
<a href="https://otus.ru/journal/tag/otus-book/" class="tag-cloud-link tag-link-261 tag-link-position-19" style="font-size: 9.9444444444444pt;" aria-label="otus book (18 элементов)" data-wpel-link="internal">otus book</a>
<a href="https://otus.ru/journal/tag/php/" class="tag-cloud-link tag-link-45 tag-link-position-20" style="font-size: 10.527777777778pt;" aria-label="PHP (21 элемент)" data-wpel-link="internal">PHP</a>
<a href="https://otus.ru/journal/tag/python/" class="tag-cloud-link tag-link-27 tag-link-position-21" style="font-size: 16.944444444444pt;" aria-label="Python (99 элементов)" data-wpel-link="internal">Python</a>
<a href="https://otus.ru/journal/tag/qa/" class="tag-cloud-link tag-link-155 tag-link-position-22" style="font-size: 11.402777777778pt;" aria-label="qa (26 элементов)" data-wpel-link="internal">qa</a>
<a href="https://otus.ru/journal/tag/sql/" class="tag-cloud-link tag-link-38 tag-link-position-23" style="font-size: 12.861111111111pt;" aria-label="SQL (37 элементов)" data-wpel-link="internal">SQL</a>
<a href="https://otus.ru/journal/tag/team-lead/" class="tag-cloud-link tag-link-364 tag-link-position-24" style="font-size: 9.9444444444444pt;" aria-label="team lead (18 элементов)" data-wpel-link="internal">team lead</a>
<a href="https://otus.ru/journal/tag/unity/" class="tag-cloud-link tag-link-24 tag-link-position-25" style="font-size: 8pt;" aria-label="unity (11 элементов)" data-wpel-link="internal">unity</a>
<a href="https://otus.ru/journal/tag/algoritmy/" class="tag-cloud-link tag-link-30 tag-link-position-26" style="font-size: 9.9444444444444pt;" aria-label="Алгоритмы (18 элементов)" data-wpel-link="internal">Алгоритмы</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh/" class="tag-cloud-link tag-link-40 tag-link-position-27" style="font-size: 10.138888888889pt;" aria-label="Базы данных (19 элементов)" data-wpel-link="internal">Базы данных</a>
<a href="https://otus.ru/journal/tag/matematika/" class="tag-cloud-link tag-link-44 tag-link-position-28" style="font-size: 10.916666666667pt;" aria-label="Математика (23 элемента)" data-wpel-link="internal">Математика</a>
<a href="https://otus.ru/journal/tag/arhitektura-po/" class="tag-cloud-link tag-link-10 tag-link-position-29" style="font-size: 9.4583333333333pt;" aria-label="архитектура ПО (16 элементов)" data-wpel-link="internal">архитектура ПО</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh-2/" class="tag-cloud-link tag-link-251 tag-link-position-30" style="font-size: 10.138888888889pt;" aria-label="базы данных (19 элементов)" data-wpel-link="internal">базы данных</a>
<a href="https://otus.ru/journal/tag/vebinar/" class="tag-cloud-link tag-link-201 tag-link-position-31" style="font-size: 13.930555555556pt;" aria-label="вебинар (48 элементов)" data-wpel-link="internal">вебинар</a>
<a href="https://otus.ru/journal/tag/dajdzhest/" class="tag-cloud-link tag-link-308 tag-link-position-32" style="font-size: 10.722222222222pt;" aria-label="дайджест (22 элемента)" data-wpel-link="internal">дайджест</a>
<a href="https://otus.ru/journal/tag/zapis-vebinara/" class="tag-cloud-link tag-link-226 tag-link-position-33" style="font-size: 14.902777777778pt;" aria-label="запись вебинара (61 элемент)" data-wpel-link="internal">запись вебинара</a>
<a href="https://otus.ru/journal/tag/zapis-uroka/" class="tag-cloud-link tag-link-272 tag-link-position-34" style="font-size: 16.069444444444pt;" aria-label="запись урока (80 элементов)" data-wpel-link="internal">запись урока</a>
<a href="https://otus.ru/journal/tag/informacionnaya-bezopasnost/" class="tag-cloud-link tag-link-232 tag-link-position-35" style="font-size: 10.138888888889pt;" aria-label="информационная безопасность (19 элементов)" data-wpel-link="internal">информационная безопасность</a>
<a href="https://otus.ru/journal/tag/karera-v-it/" class="tag-cloud-link tag-link-292 tag-link-position-36" style="font-size: 9.9444444444444pt;" aria-label="карьера в IT (18 элементов)" data-wpel-link="internal">карьера в IT</a>
<a href="https://otus.ru/journal/tag/podborka/" class="tag-cloud-link tag-link-7 tag-link-position-37" style="font-size: 12.666666666667pt;" aria-label="подборка (35 элементов)" data-wpel-link="internal">подборка</a>
<a href="https://otus.ru/journal/tag/podborka-statej/" class="tag-cloud-link tag-link-219 tag-link-position-38" style="font-size: 15.777777777778pt;" aria-label="подборка статей (75 элементов)" data-wpel-link="internal">подборка статей</a>
<a href="https://otus.ru/journal/tag/programmirovanie/" class="tag-cloud-link tag-link-65 tag-link-position-39" style="font-size: 22pt;" aria-label="программирование (332 элемента)" data-wpel-link="internal">программирование</a>
<a href="https://otus.ru/journal/tag/proekt/" class="tag-cloud-link tag-link-321 tag-link-position-40" style="font-size: 11.888888888889pt;" aria-label="проект (29 элементов)" data-wpel-link="internal">проект</a>
<a href="https://otus.ru/journal/tag/proektnaya-rabota/" class="tag-cloud-link tag-link-310 tag-link-position-41" style="font-size: 11.597222222222pt;" aria-label="проектная работа (27 элементов)" data-wpel-link="internal">проектная работа</a>
<a href="https://otus.ru/journal/tag/seti/" class="tag-cloud-link tag-link-181 tag-link-position-42" style="font-size: 12.958333333333pt;" aria-label="сети (38 элементов)" data-wpel-link="internal">сети</a>
<a href="https://otus.ru/journal/tag/testirovanie/" class="tag-cloud-link tag-link-69 tag-link-position-43" style="font-size: 13.930555555556pt;" aria-label="тестирование (48 элементов)" data-wpel-link="internal">тестирование</a>
<a href="https://otus.ru/journal/tag/upravlenie-komandoj/" class="tag-cloud-link tag-link-63 tag-link-position-44" style="font-size: 11.694444444444pt;" aria-label="управление командой (28 элементов)" data-wpel-link="internal">управление командой</a>
<a href="https://otus.ru/journal/tag/habr-2/" class="tag-cloud-link tag-link-203 tag-link-position-45" style="font-size: 13.930555555556pt;" aria-label="хабр (48 элементов)" data-wpel-link="internal">хабр</a></div>
</li>
</ul>
</div>
</aside>
</div> <!-- .ts-row -->
</div> <!-- .main -->
<footer class="main-footer dark bold">
<section class="lower-footer cf">
<div class="wrap">
<div class="links">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
<p class="copyright"> © 2015-2026 OTUS </p>
<div class="to-top">
<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i> Top</a>
</div>
</div>
</section>
</footer>
</div> <!-- .main-wrap -->
<div class="mobile-menu-container off-canvas" id="mobile-menu">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<div class="logo">
</div>
<ul class="mobile-menu"></ul>
</div>
<div class="search-modal-wrap">
<div class="search-modal-box" role="dialog" aria-modal="true">
<form method="get" class="search-form" action="https://otus.ru/journal/">
<input type="search" class="search-field" name="s" placeholder="Search..." value="" required />
<button type="submit" class="search-submit visuallyhidden">Submit</button>
<p class="message">
Type above and press <em>Enter</em> to search. Press <em>Esc</em> to cancel. </p>
</form>
</div>
</div>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/js/url-span.js" id="wbcr-comments-plus-url-span-js"></script>
<script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra">
/* <![CDATA[ */
var eztoc_smooth_local = {"scroll_offset":"30"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js" id="ez-toc-scroll-scriptjs-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js" id="ez-toc-js-cookie-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js" id="ez-toc-jquery-sticky-kit-js"></script>
<script type="text/javascript" id="ez-toc-js-js-extra">
/* <![CDATA[ */
var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js" id="ez-toc-js-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/custom-script.js" id="custom-script-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/magnific-popup.js" id="magnific-popup-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.fitvids.js" id="jquery-fitvids-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/imagesloaded.min.js" id="imagesloaded-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/object-fit-images.js" id="object-fit-images-js"></script>
<script type="text/javascript" id="contentberg-theme-js-extra">
/* <![CDATA[ */
var Bunyad = {"custom_ajax_url":"\/journal\/izuchenie-sql-komand-na-baze-mysql\/"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theme.js" id="contentberg-theme-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theia-sticky-sidebar.js" id="theia-sticky-sidebar-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.slick.js" id="jquery-slick-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jarallax.js" id="jarallax-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/masonry.min.js" id="masonry-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.masonry.min.js" id="jquery-masonry-js"></script>
</body>
</html>
<!-- Cache served by breeze CACHE - Last modified: Tue, 10 Mar 2026 21:24:45 GMT -->