Язык SQL (Structured Query Language)

Синонимы: Язык структурированных запросов, SQL

Разделы: Источники данных

Loginom: Импорт из базы данных (интеграция)

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

SQL состоит из многих групп операторов, которые могут рассматриваться как своего рода подмножества одного языка:

  • Data Query Language (DQL) — запросы к данным;
  • Data Definition Language (DDL) — определение данных;
  • Data Control Language (DCL) — управление данными;
  • Data Manipulation Language (DML) — манипулирование данными.

SQL был одним из первых коммерческих языков для реляционной модели Эдгара Ф. Кодда.

SQL стал стандартом Американского национального института стандартов (ANSI) в 1986 году и Международной организации по стандартизации (ISO) в 1987 году. С тех пор стандарт был пересмотрен с целью включения большего набора функций. Несмотря на существование таких стандартов, большая часть кода SQL не является полностью переносимой между различными системами баз данных без корректировок.

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

  • создание в базе данных новой таблицы;
  • добавление в таблицу новых записей;
  • изменение записей;
  • удаление записей;
  • выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);
  • изменение структур таблиц.

Со временем SQL усложнился — обогатился новыми конструкциями, обеспечил возможность описания и управления новыми хранимыми объектами (например, индексы, представления, триггеры и хранимые процедуры) — и стал приобретать черты, свойственные языкам программирования.

При всех своих изменениях SQL остаётся популярным механизмом связи между прикладным программным обеспечением и базами данных. В то же время развиваются и альтернативные механизмы, например, NoSQL и REST JSON. Кроме этого, современные СУБД, а также информационные системы, использующие СУБД, предоставляют пользователю развитые средства визуального построения запросов.