к оглавлению

Язык SQL. Формирование запросов к базе данных

  1. История развития SQL
  2. Структура SQL
  3. Типы данных SQL
  4. Оператор выбора SELECT
  5. Применение агрегатных функций и вложенных запросов в операторе выбора
  6. Вложенные запросы
  7. Внешние объединения
  8. Операторы манипулирования данными
  9. Задания для самостоятельной работы

Structured Query Language (Язык Структурированных Запросов) разработан корпораций IBM в начале 1970-х годов. В 1986 году SQL был впервые стандартизирован организаций ANSI.

SQL - этом мощный и в то же время не сложный язык для управления базами данных. Он поддерживается практически всеми современными базами данных. SQL подразделятся на два подмножества команд: DDL (Data Definition Language - язык определения данных) и DML (Data Manipulation Language - язык обработки данных). Команды DDL используются для создания новых баз данных, таблиц и столбцов, а команды DML - для чтения, записи, сортировки, фильтрования, удаления данных.

Здесь будут рассмотрены подробно лишь команды DML, поскольку их приходится использовать гораздо чаще, чем команды DDL, то есть дается просто понятие о SQL.

О командах DDL

CREATE - используется для создания новых таблиц, столбцов и индексов.

DROP - используется для удаления столбцов и индексов.

ALTER - используется для добавления в таблицы новых столбцов и изменения определенных столбцов.

Команды DML

SELECT - наиболее часто используемая команда, применяется для получения набора данных из таблицы базы данных. Команда SELECT имеет следующий синтаксис:

SELECT список_полей1 FROM имя_таблицы [WHERE критерий ORDER BY список_полей2 [ASC | DESC]]

Операторы, находящие внутри квадратных скобок не обязательны, а вертикальная черта означает, что должна присутствовать одна из указанных фраз, но не обе.

Для примера создадим простейший запрос на получение данных из полей "name" и "phone" таблицы "friends":

SELECT name, phone FROM friends

Если необходимо получить все поля таблицы, то не обязательно их перечислять, достаточно поставить звездочку (*):

SELECT * FROM friends

Для исключения из выводимого списка повторяющихся записей, используется ключевое слово DISTINCT:

SELECT DISTINCT name FROM friends

Если необходимо получить отдельную запись, то используется оператор WHERE. Например, нам надо получить из таблицы "friends" номер телефона "Сергей Иванов":

SELECT * FROM friends WHERE name = ' Сергей Иванов'

или наоборот, нам надо узнать кому принадлежит телефон 293-89-13:

SELECT * FROM friends WHERE phone = 293-89-13'

Помимо этого можно использовать подстановочные символы, таким образом, создавая шаблоны поиска. Для этого используется оператор LIKE. Оператор LIKE имеет следующие операторы подстановки:

* - соответствует строке состоящей из одного или более символов;

_ - соответствует одному любому символу;

[] - соответствует одному символу из определенного набора;

Например, для получения записей из поля "name" содержащих слово "Сергей", запрос будит выглядеть следующим образом:

SELECT * FROM friends WHERE name LIKE '*Сергей*'

Для определения порядка, в котором возвращаются данные, используется оператор ORDER BY. Без этого оператора порядок возвращаемых данных невозможно предсказать. Ключевые слова ASC и DESC позволяют определить направление сортировки. ASC - упорядочивает по возрастанию, а DESC - по убыванию.

Например, запрос на получение списка записей из поля "name" в алфавитном порядке будет выглядеть следующим образом:

SELECT * FROM friends ORDER BY name

Обратим внимание на то, что ключевое слово ASC указывать не обязательно, поскольку оно используется по умолчанию.

INSERT - данная команда служит для добавления новой записи в таблицу. Записывается она следующим образом:

INSERT INTO имя_таблицы VALUES (список_значений)

Обратим внимание на то, что типы значений в списке значений должны соответствовать типам значений полей таблицы, например:

INSERT INTO friends VALUES ('Анна Осипова', '495-09-81')

В данном примере в таблицу friends добавляется новая запись с указанными значениями.

UPDATE - эта команда применяется для обновления данных в таблице и чаще всего используется совместно с оператором WHERE. Команда UPDATE имеет следующий синтаксис:

UPDATE имя_таблицы SET имя_поля = значение [WHERE критерий]

Если опустить оператор WHERE, то будут обновлены данные во всех определенных полях таблицы. Для примера, поменяем номер телефона Сергея Иванова:

UPDATE friends SET phone = '255-55-55' WHERE name = 'Сергей Иванов'

DELETE - как вы уже наверное поняли, эта команда служит для удаления записей из таблицы. Как и UPDATE, команда DELETE обычно используется с оператором WHERE, если этот оператор пропустить, то будут удалены все данные из указанной таблицы. Синтаксис команды DELETE выглядит следующим образом:

DELETE FROM имя_таблицы [WHERE критерий]

Для примера, давайте удалим Сергея Иванова из нашей таблицы :) :

DELETE FROM friends WHERE name = 'Сергей Иванов'

Подробно об SQL

МАРТИН ГРУБЕР - Понимание SQL

Язык баз данных SQL со средствами поддержания целостности. Стандарт

к оглавлению

Знаете ли Вы, что релятивистское объяснение феномену CMB (космическому микроволновому излучению) придумал человек выдающейся фантазии Иосиф Шкловский (помните книжку миллионного тиража "Вселенная, жизнь, разум"?). Он выдвинул совершенно абсурдную идею, заключавшуюся в том, что это есть "реликтовое" излучение, оставшееся после "Большого Взрыва", то есть от момента "рождения" Вселенной. Хотя из простой логики следует, что Вселенная есть всё, а значит, у нее нет ни начала, ни конца... Подробнее читайте в FAQ по эфирной физике.

Bourabai Research Institution home page

Боровское исследовательское учреждение - Bourabai Research Bourabai Research Institution