news
Serverspace добавил возможность подключения S3 к сервису CDN
VB
26 октября 2023
Обновлено 26 октября 2023

Основные команды SQL

Базы данных

О чем эта статья

В данной инструкции мы расскажем об основных командах SQL, на примерах проиллюстрируем их использование и варианты применения. Сведенный в таблицу список SQL-команд с кратким описанием того, что тот или иной SQL запрос делает, мы покажем ниже, а далее опишем каждый из них более подробно.

Сводная таблица основных команд SQL

Оператор Результат
Операции с базами данных
show databases; Показать все базы данных, имеющиеся в системе
create database <имя_базы_данных>; Создать базу данных с соответствующим именем
use <имя_базы_данных>; “Фокусировка” на базе данных, все последующие команды будут относиться именно к этой БД
source <путь_к_файлу>; Последовательное выполнение нескольких команд, содержащихся в файле
drop database <имя_базы_данных>; Полное удаление базы данных вместе с содержащимися в ней данными
Операции с таблицами
show tables; Показать все таблицы в выбранной в текущий момент базе данных
create table <имя_таблицы> (столбец# тип_данных); Создание пустой таблицы с заданным именем в текущей базе данных
alter table <имя_таблицы> <действие>; Изменение структуры таблицы (например, добавление столбца). Пример рассмотрим далее
drop <имя_таблицы>; Удаление таблицы вместе с данными
Операции с данными в таблице
select <данные> from <имя_таблицы>; Выборка данных из таблицы. Может быть дополнена условиями (об этом далее)
insert into <имя_таблицы> (перечисление столбцов)

values (перечисление значений);

Вставка строки в таблицу. Производится по принципу “столбцы один за другим – значения одно за другим”
update <имя_таблицы> set <имя_столбца> = <значение> where <идентификатор_строки>; Обновление данных в таблице. Все данные, соответствующие выборке, будут заменены
order by <имя_столбца> <условие>; Сортировка выводимых данных. Как правило в качестве условия используется  оператор asc (по возрастанию) либо desc (по убыванию)
group by <имя_столбца> <условия>; Группировка выводимых данных, данные в выбранном столбце выводятся в алфавитном порядке
distinct Оператор, использующийся совместно с оператором select для вывода только уникальных значений в столбце
like Оператор, использующийся совместно с оператором select для вывода не полностью совпадающих, “шаблонизированных” значений в столбце
inner join Выборка данных из двух таблиц. Используется совместно с оператором select, вывод формируется по принципу “данные из первой таблицы сверяются по условию с данными второй таблицы, в результирующий вывод попадают строки, для которых условие выборки истинно

Операции с базами данных

Далее мы рассмотрим каждый указанный оператор на примерах. Изначальное подключение к сервису баз данных осуществляется командой:

mysql -u<имя_пользователя> -p

Далее введите ваш пароль от MySQL.

Вход в БД

Создадим базу данных:

create database <имя_базы_данных>;

создание БД

Для иллюстрации одномоментного запуска нескольких команд SQL создадим файл с командами, и потом используем оператор source:

cat <<EOF > <путь_к_файлу>
create database test1;
create database test2;
create database test3;
EOF
mysql -u<имя_пользователя> -p
source <путь_к_файлу>;

Использование нескольких команд sql

Для проверки результата посмотрим список имеющихся баз, а потом удалим лишние:

show databases;
drop database <имя_базы_данных>;

Проверка результатов

Иллюстрация операций с таблицами

Далее мы будем использовать созданную ранее базу данных class. Сделаем ее активной и создадим в ней несколько таблиц:

use <имя_базы_данных>;
create table <имя_таблицы>(опции);

Создание таблиц в БД

Заполним данные в таблицах:

insert into <имя_таблицы> (перечисление столбцов)
values (перечисление значений);

Заполнение таблиц данными

Посмотрим на результат:

select * from <имя_таблицы>;

просмотр результатов

Заменим в третьей таблице значение (представим что учитель Иван Баев теперь преподает другой предмет) и сразу же проверим результат:

update <имя_таблицы>
set <столбец> = <значение>
where <условие_выборки> = <значение>;

select <столбец> from <имя_таблицы>  where <условие_выборки> = <значение>;

Замена значений в таблице

Удалим одну из таблиц:

drop table <имя_таблицы>

Удаление таблицы

Выборка данных из таблиц

Весь контент таблицы показывается командой:

select * from <имя_таблицы>;

Просмотр таблицы

Выборочный отбор проводится по схеме:

select <отображаемые_столбцы> from <имя_таблицы> where <условие>;

Например, запрос на скриншоте ниже отобразит всех мальчиков старше 14 лет.

Выборочный просмотр

Для иллюстрации работы оператора join добавим таблицы boys и girls еще один столбец, используя конструкцию alter table. Затем в списках девочек и мальчиков укажем любимые ими предметы, используя оператор update как описано выше:

alter table <имя_таблицы> add column <имя_столбца> <тип_данных> <положение_нового_столбца>;
update <имя_таблицы> set <имя_столбца> = <значение> where <условие>;

Добавление столбца в существующую таблицу

Отобразим все имеющиеся в классе хобби (только уникальные значения):

select distinct <столбец> from <таблица>

просмотр всех значений в таблицах в одном столбце

Обратите внимание, что в вывод попало нулевое значение. Чтобы несколько облагородить выборку давайте добавим в запрос параметр IS NOT NULL:

Вывод значений без нулевых

Теперь проиллюстрируем работу join. Отобразим из двух таблиц всех учеников, любящих один и тот же предмет:

SELECT *
FROM girls INNER JOIN boys
ON boys.FavoriteDiscipline = girls.FavoriteDiscipline;

Пример работы join

Отсортируем девочек по алфавиту при помощи оператора order:

сортировка значений по алфавиту

Напоследок нужно сказать о том, что язык запросов SQL поддерживает математические функции. Например, можно подсчитать средний возраст детей:

select avg(<столбец>) as <произвольное_имя_результирующего_столбца> from <таблица>;

математическая функция sql

Заключение

В данной статье мы рассмотрели основные команды SQL-запросов с примерами их использования, рассмотрели работу с базами данных, таблицами и сортировку данных.

Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
191028 Санкт-Петербург Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700 300

Вам также может быть интересно...