Язык структурированных запросов (SQL) — это набор инструкций, используемых для взаимодействия с реляционной базой данных . Фактически, SQL — единственный язык, который понимает большинство баз данных. Всякий раз, когда вы взаимодействуете с такой базой данных, программное обеспечение преобразует ваши команды (будь то щелчки мыши или записи формы) в оператор SQL, который база данных знает, как интерпретировать. SQL состоит из трех основных компонентов: языка манипулирования данными (DML), языка определения данных (DDL) и языка управления данными (DCL).
Распространенное использование SQL в Интернете
Как пользователь любой программы, управляемой базой данных, вы, вероятно, используете SQL, даже если вы его не знаете. Например, управляемая базой данных динамическая веб-страница (как и большинство веб-сайтов) берет пользовательский ввод из форм и щелчков и использует его для составления SQL-запроса, который извлекает информацию из базы данных, необходимую для создания следующей веб-страницы.
Рассмотрим пример простого онлайн-каталога с функцией поиска. Страница поиска может состоять из формы, содержащей только текстовое поле, в котором вы вводите критерий поиска и затем нажимаете кнопку поиска. Когда вы нажимаете кнопку, веб-сервер извлекает любые записи из базы данных продукта, содержащие условие поиска, и использует результаты для создания веб-страницы, соответствующей вашему запросу.
Например, если вы искали продукты, содержащие термин «ирландский», сервер может использовать следующую инструкцию SQL для получения связанных продуктов:
ВЫБЕРИТЕ *
ИЗ
ПРОДУКТОВ, ГДЕ НАИМЕНОВАНИЕ, КАК '% irish%'
В переводе эта команда извлекает любые записи из таблицы базы данных с именем «products», которые содержат символы «irish» в любом месте имени продукта.
Язык манипулирования данными
Язык манипулирования данными (DML) содержит подмножество наиболее часто используемых команд SQL — те, которые просто манипулируют содержимым базы данных в той или иной форме. Четыре наиболее распространенные команды DML извлекают информацию из базы данных (команда SELECT), добавляют новую информацию в базу данных (команда INSERT), изменяют информацию, которая в настоящее время хранится в базе данных (команда UPDATE), и удаляют информацию из базы данных (команда УДАЛИТЬ команду).
Язык определения данных
Язык определения данных (DDL) содержит команды, которые используются реже. Команды DDL изменяют фактическую структуру базы данных, а не ее содержимое. Примеры часто используемых команд DDL включают команды, используемые для создания новой таблицы базы данных (CREATE TABLE), изменения структуры таблицы базы данных (ALTER TABLE) и удаления таблицы базы данных (DROP TABLE).
Язык управления данными
Язык управления данными (DCL) используется для управления доступом пользователей к базам данных . Он состоит из двух команд: команда GRANT, используемая для добавления полномочий базы данных для пользователя, и команда REVOKE, используемая для удаления существующих разрешений. Эти две команды составляют ядро модели безопасности реляционной базы данных.
Структура команды SQL
К счастью для тех из нас, кто не является программистом, команды SQL имеют синтаксис, аналогичный английскому языку. Обычно они начинаются с инструкции команды, описывающей действие, которое следует предпринять, за которым следует предложение, описывающее цель команды (например, конкретная таблица в базе данных, на которую воздействует команда), и, наконец, серия предложений, которые предоставляют дополнительные инструкции.
Зачастую простое чтение оператора SQL вслух дает вам очень хорошее представление о том, для чего предназначена команда. Найдите минутку, чтобы прочитать этот пример оператора SQL:
УДАЛИТЬ
ИЗ
ШКОЛЬНИКОВ ГДЕ градация_год = 2014
Можете ли вы угадать, что будет делать это утверждение? Он обращается к таблице студента в базе данных и удаляет все записи для студентов, окончивших школу в 2014 году.