В этой статье я расскажу тебе про язык запросов SQL. Как известно, на
данный момент в InterNet’е существует огромное количество баз данных. Для
обращения с ними, как правило, создают графический Web-интерфейс. Но если
тебе интересно, как это все работает, данная статья будет для тебя очень
полезна.
WHAT IS THE SQL?
SQL-язык запросов, который является своего рода стандартом в области
БД. Изначально он разрабатывался для баз данных SQL, но сейчас в каждой
базе можно найти возможность писать SQL-запросы.
Итак, что же такое запрос?
Запрос – это команда, которая требует какого-либо действия с БД от сервера.
Например: клиент может послать запрос, по которому сервер выдаст содержимое
БД. Запрос характерен тем, что клиент работает на прямую не с БД, а с
сервером, который в свою очередь выполняет всю ресурсоемкую работу сам.
GIVE ME YOUR DATA
Самые простые запросы - запросы на выборку. Они позволяют только читать
данные из БД, но не изменять их. Допустим, у меня есть база под названием BASE
со следующим содержимым:
N NAME NICK EMAIL
1 Иванов Ivan ivan@blah.blah
2 Петров Peter peter@blah.blah
3 Сидоров Sidor sidor@blah.blah
4 Козлов Kazel kazel@blah.blah
И я хочу его просмотреть. Для этого существует оператор SELECT. Его
синтаксис такой:
SELECT “что” FROM “откуда”
Здесь вместо “откуда” надо поставить имя БД. А на месте “что”, в нашем
случае, надо поставить “*”, что означает ВСЁ. Итак, наш запрос будет
выглядеть следующим образом:
SELECT * FROM BASE
В ответ мы получим содержимое базы. А теперь немного модифицируем запрос:
SELECT NAME FROM BASE
В ответ получим:
Иванов
Петров
Сидоров
Козлов
Но во многих случаях гораздо удобнее смотреть на отсортированную таблицу,
сортировка таблицы производится оператором ORDER BY. Рассмотрим пример
запроса, который сортирует базу по полю NAME:
SELECT * FROM BASE
ORDER BY NAME
По умолчанию оператор ORDER BY сортирует поле по возрастанию, сверху вниз.
Чтобы отсортировать поле по убыванию надо поставить параметр DESC:
SELECT * FROM BASE
ORDER BY DESK
Таким образом, можно проводить выборку по любому полю. Теперь рассмотрим
оператор WHERE, который позволяет вывести информацию, выбранную по более
узким параметрам:
SELECT * FROM BASE
WHERE NICK LIKE ‘Sidor’
Этот запрос выведет нам все строки в которых в поле NICK содержится
значение Sidor. Оператор LIKE равен по значению оператору “=”, но, как
правило, LIKE используется, когда в равенстве участвует текст, а не числовое
значение. Так же в запросах можно использовать простые математические
символы:
Основные операторы вывода информации я рассмотрел, пора браться за
изменение. Для изменения информации в БД используется оператор UPDATE.
Синтаксис:
UPDATE ‘что’ SET ‘поле’=’значение’
Рассмотрим запрос, который меняет все значения поля NAME на UNKNOWN:
UPDATE BASE SET NAME = ‘unknown’
Усложним запрос:
UPDATE BASE SET NICK = ‘Kozlenok’
WHERE NICK LIKE ‘KAZEL’
В результате значение поля, где раньше был Kazel изменится на Kozlenok.
Можно также просто вставлять строки. Это делается оператором INSERT, с
синтаксисом:
INSERT INTO ‘куда’
VALUES (‘значения полей по порядку и через запятую’)
Рассмотрим пример запроса, который вставляет новую строку в нашу базу:
INSERT INTO BASE
VALUES (1,‘Висичкин’,’Vasya’,’vasya@blah.blah)
Этот запрос вставит строку следующего содержания:
1 Васичкин Vasya vasya@blah.blah
Заметь, что текстовые поля я указал в кавычках а числовые без. От этого
зависит тип поля.
DESTROY ALL
Теперь ты умеешь редактировать и изменять информацию. Осталось только одно -
удаление. Для удаления в SQL служит оператор DELETE. Ниже приведён пример
самой зверской в SQL команды:
DELETE FROM BASE
Этот запрос удаляет ВСЕ из базы BASE. Можно превратить его в более
безобидный:
DELETE FROM BASE
WHERE NICK LIKE ‘Ivan’
Этот запрос удаляет строку, в которой столбец NICK имеет значение Ivan.
MORE
Выше я рассмотрел все основные операторы для каких-либо действий с
информацией. Осталось лишь немного добавить удобства в работе. В SQL так же
поддерживаются операнды OR и AND. Их можно использовать со всеми
операторами. Например:
SELECT * FROM BASE
WHERE NICK LIKE ‘Ivan’ OR NICK LIKE ‘Kozlenok’
Этот запрос выведет все строки, в которых поле NICK равно или Ivan или
Kozlenok.
Следует заметить, что все текстовые значения в SQL пишутся в одинарных
кавычках, это иногда бывает очень важно, например при работе с оператором
INSERT. Т.к. при создания им новой базы от кавычек зависит тип поля.
OUTRO
Язык запросов SQL на данный момент набрал полные обороты и, судя по всему,
снижать их не собирается. Он стал стандартом для баз данных, и сейчас
интегрирован почти во все средства разработки приложений. Несмотря на свою
серьёзность он настолько прост, что выучить его можно достаточно быстро и
без особых усилий. Я настоятельно рекомендую тебе с ним разобраться, это не
займет много времени, но в будущем может понадобиться и не раз.
iNo     [KODSWEB]
!!! Статья является собственностью команды KODSWEB !!!
!!! Любое распространение без нашего разрешения строго запрешено !!!