Aleksey Nemiro's curriculum vitae

Основы SQL

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

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

SQL подразделятся на два подмножества команд: DDL (Data Definition Language – язык определения данных) и DML (Data Manipulation Language – язык обработки данных).

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

В этой статье будут более подробно рассмотрены команды DML, поскольку их приходится использовать гораздо чаще.

Команды DDL

Команды DML

SELECT

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 = 'Вася Пупкин'

или наоборот, нам надо узнать кому принадлежит телефон 44-65-01:

SELECT * FROM friends WHERE phone = '44-65-01'

Помимо этого можно использовать подстановочные символы, таким образом создавая шаблоны поиска.

Для этого используется оператор 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 служит для добавления новой записи в таблицу. Записывается она следующим образом:

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

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

INSERT INTO friends VALUES ('Анка Пулеметчица', '32-09-81')

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

UPDATE

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

Команда UPDATE имеет следующий синтаксис:

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

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

UPDATE friends SET phone = '55-55-55' WHERE name = 'Вася Пупкин'

DELETE

Как вы уже наверное поняли, команда DELETE служит для удаления записей из таблицы.

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

Синтаксис команды DELETE выглядит следующим образом:

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

Для примера, давайте удалим этого надоедливого Васю Пупкина из нашей таблицы :) :

DELETE FROM friends WHERE name = 'Вася Пупкин'

Эпилог

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


Автор статьи: Алексей Немиро
Специально для online-журнала COMPAWORLD
2003-09-16