Kodsweb Security Team

MENU

  :::: Main
  :::: Archive
  :::: Programs
  :::: Texts
  :::: Proxies
  :::: Wordlists
  :::: E-Books
  :::: Rfc
  :::: Our Projects
  :::: About
  :::: Forum
  :::: Exploits
  :::: Friends
  :::: Services
  :::: Feedback
  :::: Misc

FEEDS

KodsWeb.ru - Forum
KodsWeb.ru - Project News
KodsWeb.ru - IT & Scene News
KodsWeb.ru - Defaces Bugtraq Exploits

SEARCH



WHOIS

FRIENDS

--{ team void }--

gfs-team

XakNotDie - Security, Coding and IT.

all networks hacking and security research

COUNTERS





Рейтинг@Mail.ru

Rambler's Top100 Rambler's Top100



[ Язык запросов SQL: Введение. ]


Date: 20.09.02

В этой статье я расскажу тебе про язык запросов 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 используется, когда в равенстве участвует текст, а не числовое значение. Так же в запросах можно использовать простые математические символы:

>,<,<>,=.

Например:

SELECT * FROM BASE
WHERE N > 2


Получим:

3 Сидоров   Sidor   sidor@blah.blah
4 Козлов    Kazel   kazel@blah.blah
Чуть-чуть усложним пример:

SELECT * FROM BASE
WHERE N > 2
ORDEB BY DESC


Получим:

3 Сидоров   Sidor   sidor@blah.blah
4 Козлов    Kazel   kazel@blah.blah


MODIFY IT

Основные операторы вывода информации я рассмотрел, пора браться за изменение. Для изменения информации в БД используется оператор 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 !!!
!!! Любое распространение без нашего разрешения строго запрешено !!!



 Copyright © 2001-2007 Kodsweb. All rights reserved.

Бронхит? Задайте вопрос врачу: бронхит у детей. Бронхит? Лечите с нами.

>