Введение в основы SQL

Язык структурированных запросов (SQL) - один из фундаментальных строительных блоков современной архитектуры баз данных. SQL определяет методы, используемые для создания и управления реляционными базами данных на всех основных платформах. На первый взгляд язык может показаться устрашающим и сложным, но это не так уж и сложно.

О SQL

Правильное произношение SQL - спорный вопрос в сообществе разработчиков баз данных. В своем стандарте SQL Американский национальный институт стандартов заявил, что официальное произношение - es queue el. "Однако многие специалисты по базам данных перешли на сленговое произношение" сиквел ". Как и в случае с произношением из Гифка, нет правильного ответа.

SQL имеет множество разновидностей. Базы данных Oracle используют собственный PL / SQL. Microsoft SQL Server использует Transact-SQL. Все варианты основаны на промышленном стандарте ANSI SQL.

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

instagram viewer

DDL и DML

Команды SQL можно разделить на два основных подъязыка. Язык определения данных содержит команды, используемые для создания и уничтожения баз данных и объектов баз данных. После определения структуры базы данных с помощью DDL администраторы и пользователи базы данных могут использовать язык манипулирования данными для вставки, извлечения и изменения содержащихся в нем данных.

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

Команды языка определения данных

Язык определения данных используется для создания и уничтожения баз данных и объектов баз данных. Эти команды в основном используются администраторами базы данных на этапах установки и удаления проекта базы данных. DDL вращается вокруг четырех основных команд -Создайте, использовать, изменить, а также уронить.

Создавать

В Создайте команда устанавливает базы данных, таблицы или запросы на вашей платформе. Например, команда:

СОЗДАТЬ БАЗУ ДАННЫХ сотрудников;

создает пустую базу данных с именем сотрудники на вашей СУБД. После создания базы данных следующим шагом будет создание таблиц, содержащих данные. Другой вариант Создайте команда выполняет эту цель. Команда:

СОЗДАТЬ ТАБЛИЦУ personal_info (first_name char (20) not null, last_name char (20) not null, employee_id int not null);

устанавливает таблицу под названием личная информация в текущей базе данных. В этом примере таблица содержит три атрибута: имя, Фамилия, а также employee_id вместе с некоторой дополнительной информацией.

Использовать

В использовать команда указывает активную базу данных. Например, если вы в настоящее время работаете с базой данных продаж и хотите выполнить некоторые команды, которые повлияют на базу данных сотрудников, добавьте к ним следующую команду SQL:

Сотрудники ЕГЭ;

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

Изменить

После того, как вы создали таблицу в базе данных, измените ее определение с помощью изменить команда, которая изменяет структуру таблицы, не удаляя и не создавая ее заново. Взгляните на следующую команду:

ALTER TABLE personal_info ДОБАВИТЬ зарплату null;

В этом примере в таблицу personal_info добавляется новый атрибут - зарплата сотрудника. В Деньги аргумент указывает, что зарплата сотрудника хранится в формате долларов и центов. Наконец, ноль ключевое слово сообщает базе данных, что это нормально, если это поле не содержит значения для любого данного сотрудника.

Уронить

Последняя команда языка определения данных, уронить, удаляет целые объекты базы данных из нашей СУБД. Например, чтобы окончательно удалить созданную нами таблицу personal_info, используйте следующую команду:

УДАЛИТЬ ТАБЛИЦУ personal_info;

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

Сотрудники DROP DATABASE;

Осторожно используйте эту команду. В уронить Команда удаляет целые структуры данных из вашей базы данных. Если вы хотите удалить отдельные записи, используйте Удалить владение языком манипулирования данными.

Команды языка обработки данных

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

Вставлять

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

ВСТАВИТЬ личную_инфо
значения ('bart', 'simpson', 12345, 45000 долларов США);

Обратите внимание, что для записи указано четыре значения. Они соответствуют атрибутам таблицы в том порядке, в котором они были определены: имя, Фамилия, employee_id а также оплата труда.

Выбирать

В Выбрать command - это наиболее часто используемая команда в SQL. Он извлекает конкретную информацию из оперативной базы данных. Взгляните на несколько примеров, снова используя таблицу personal_info из базы данных сотрудников.

Команда, показанная ниже, извлекает всю информацию, содержащуюся в таблице personal_info. Звездочка - это подстановочный знак в SQL.

ВЫБРАТЬ *
FROM personal_info;

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

ВЫБЕРИТЕ last_name
FROM personal_info;

В где Предложение ограничивает извлекаемые записи теми, которые соответствуют указанным критериям. Генеральный директор может быть заинтересован в проверке кадрового учета всех высокооплачиваемых сотрудников. Следующая команда извлекает все данные, содержащиеся в personal_info, для записей, значение зарплаты которых превышает 50 000 долларов США:

ВЫБРАТЬ *
ОТ personal_info
ГДЕ зарплата> 50000 $;

Обновлять

В Обновить Команда изменяет информацию, содержащуюся в таблице, либо в совокупности, либо по отдельности. Предположим, компания дает всем сотрудникам ежегодное повышение стоимости жизни на 3%. Следующая команда SQL применяет этот удар ко всем сотрудникам, хранящимся в базе данных:

ОБНОВЛЕНИЕ personal_info
УСТАНОВИТЬ зарплату = зарплата * 1.03;

Когда новый сотрудник Барт Симпсон демонстрирует эффективность, выходящую за рамки служебного долга, руководство желает отметить его выдающиеся достижения повышением зарплаты в размере 5000 долларов. Предложение WHERE выделяет Барта для этого повышения:

ОБНОВЛЕНИЕ personal_info
УСТАНОВИТЬ зарплату = зарплата + 5000
ГДЕ employee_id = 12345;

Удалить

Наконец, давайте посмотрим на Удалить команда. Вы обнаружите, что синтаксис этой команды аналогичен синтаксису других команд DML. Команда УДАЛИТЬ с где предложение удалить запись из таблицы:

УДАЛИТЬ ИЗ personal_info
ГДЕ employee_id = 12345;

DML также поддерживает агрегированные поля. В Выбрать оператор, математические операторы, такие как сумма а также считать суммировать данные в запросе. Например, запрос:

выберите количество (*) из personal_info;

подсчитывает количество записей в таблице.

Присоединение к базе данных

А присоединиться Оператор объединяет данные в нескольких таблицах для эффективной обработки больших объемов данных. В этих утверждениях заключается истинная сила базы данных.

Чтобы изучить использование базового присоединиться Чтобы объединить данные из двух таблиц, продолжите пример, используя таблицу personal_info, и добавьте в смесь дополнительную таблицу. Предположим, у вас есть таблица с именем дисциплинарная мера который был создан с помощью следующего утверждения:

СОЗДАТЬ ТАБЛИЦУ disciplinary_action (action_id int не null, employee_id int не null, комментарии char (500));

В этой таблице представлены результаты дисциплинарных взысканий к сотрудникам компании. Он не содержит никакой информации о сотруднике, кроме номера сотрудника.

Предположим, вам было поручено создать отчет, в котором перечислены дисциплинарные меры, принятые в отношении всех сотрудников с зарплатой более 40 000 долларов США. В этом случае просто использовать операцию JOIN. Получите эту информацию с помощью следующей команды:

ВЫБЕРИТЕ Personal_info.first_name, personal_info.last_name, disciplinary_action.comments
FROM personal_info ВНУТРЕННЕЕ СОЕДИНЕНИЕ disciplinary_action ON personal_info.employee_id = disciplinary_action.employee_id
ГДЕ personal_info.salary> 40000;

Типы соединений

Типы соединений в SQL

Джоины бывают разных видов. В операторе SQL первая таблица (обычно называемая Таблица А или Левый стол) присоединяется ко второй таблице (обычно называемой Таблица B или Правый стол) с учетом позиции. Таким образом, если вы измените порядок таблиц в операторе соединения, результаты операции будут другими. Основные типы соединений включают в себя:

  • Внутреннее соединение: Соответствует только записям, в которых на condition соответствует одним и тем же записям в обеих таблицах.
  • Внешнее соединение: Сопоставляет только записи из обеих таблиц, исключать результаты, указанные в на условие.
  • Правое соединение: Соответствует всем записям из таблицы B плюс записи из таблицы A, которые соответствуют на условие.
  • Левое соединение: Соответствует всем записям из таблицы A плюс записи из таблицы B, которые соответствуют на условие.
  • Крестовое соединение: Соответствует всем записям, как если бы таблицы были идентичными. Этот процесс порождает нечто, называемое декартово произведение. Часто перекрестные соединения нежелательны, потому что они сопоставляют каждую строку таблицы A индивидуально с каждой строкой таблицы B. Таким образом, если таблица A предлагает пять записей, а таблица B предлагает 9 записей, запрос перекрестного соединения предлагает 45 результирующих строк.