Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсач.docx
Скачиваний:
51
Добавлен:
15.03.2016
Размер:
1.14 Mб
Скачать

3.2 Запросы на выборку данных

SELECT — оператор DML языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих заданному условию.

В большинстве случаев, выборка осуществляется из одной или нескольких таблиц. В тех СУБД, где реализованы представления и хранимые процедуры, также возможно получение соответствующих наборов данных.

При формировании запроса SELECT пользователь описывает ожидаемый набор данных: его вид (набор столбцов) и его содержимое (критерий попадания записи в набор, группировка значений, порядок вывода записей и т. п.).

Запрос выполняется следующим образом: сначала извлекаются все записи из таблицы, а затем для каждой записи набора проверяется её соответствие заданному критерию. Если осуществляется слияние из нескольких таблиц, то сначала составляется произведение таблиц, а уже затем из полученного набора отбираются требуемые записи.

  1. Выбрать все.

Для начала, выберем самый простой запрос, необходимый для визуализации данных, вывод всей информации о студентах.

Запрос SQL:

SELECT*

FROMStudents

Листинг 2 – Запрос SQL

Рисунок 13 – Результат запроса

  1. Выбрать все и условие.

Если же нам нужно вывести список студентовcопределённым номером зачётки, то будет использоваться запрос с условием.

Запрос SQL:

SELECT*

FROMStudents

whereNumberZachetkilike'09ВП118'

Листинг 3 – Запрос с условием

Рисунок 14 – Результат запроса

  1. Выбрать что-то и условие:

Для выбора студентом комнаты с определённым кол-во мест, необходимо создать запрос с определенным условием:

Запрос SQL:

SELECTRoomCode

FROMRooms

whereKolvoMest='4'

Листинг 4 – Запрос с условием

Рисунок 15 – Результат запроса

  1. Выбрать что-то и составное условие (И):

Если требуется вывести информацию о том, какой комендант прикреплён к общежитию, то стоит воспользоваться составным условием (И).

Запрос SQL:

SELECTComendantCode

FROMObsejitia

whereNumberObsejitia='1'andAddres='Стасова 36'

Листинг 5 – Запрос с условием (И)

Рисунок 16 – Результат запроса

  1. Выбрать что-то и составное условие (ИЛИ):

Если нужно вывести фамилии студента по номеру зачётки или же по номеру комнаты, в которой он проживает, то стоит воспользоваться составным условием (ИЛИ).

Запрос SQL:

SELECTSurname

FROMStudents

whereNumberZachetki='11ВЕ222'orRoomCode='4'

Листинг 6 – Запрос с условием (ИЛИ)

Рисунок 17 – Результат запроса

3.3 Запрос на добавление и удаление записи

INSERT — оператор языка SQL, который позволяет добавить строки в таблицу, заполняя их значениями. Значения можно вставлять перечислением с помощью слова values и перечислив их в круглых скобках через запятую или оператором select.

Во время выполнения оператора могут возникнуть ошибки:

  • если при создании таблицы для поля был указан параметр notnull, и не было определено значение по умолчанию, то при отсутствии для него вставляемого значения возникнет ошибка. Решение очевидно:

    • либо убрать параметр notnull

    • либо указать значение по умолчанию

    • либо вставить значение

  • если произойдет попытка вставки в поле с типом identity (автоинкремент), то также произойдет ошибка. Решить проблему можно двумя способами:

    • не вставлять значение в это поле

    • указать опцию identity_inserton после чего вставить уникальное значение для этого столбца.

Ниже представлены запрос SQL на вставку данных в таблицы, и результат выполнения.

Пример добавления в таблицу строки, с помощью команды INSERT. В данном случае запись нового студента.

Запрос SQL:

InsertIntoStudents(StudentCode,Surname,Name,SecondName,NumberZachetki,RoomCode)

Values (100,'Ололошов','Ололош','Петрович','11ЦУ222',10 )

Листинг 7 – Добавление записи

Рисунок 18 – Данные до добавления

Рисунок 19 – Процесс добавления данных и его результат

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

Далее рассмотрен пример изменения имени студента.

Запрос SQL:

updateStudents

setName='Стас'

whereStudentCode= 100

Листинг 9 – Обновление записи

Рисунок 24 – Данные до обновления

Рисунок 25 – Данные после обновления

Delete — операция удаления записей из таблицы. Критерий отбора записей для удаления определяется выражением where. В случае если критерий отбора не определён, выполняется удаление всех записей. При этом никакого результата команда не возвращает и, следовательно, не может быть использована в качестве параметра в команде SELECT. При удалении можно задавать конструкции JOIN связывающие несколько страниц, аналогично тому, как связываются таблицы в запросах выборки SELECT.

Пример удаления строки из таблицы.

Если вдруг студента отчислили, то удаляем его из БД следующим запросом:

deleteStudents

whereStudentCode= 100

Листинг 10 – Удаление записи

Рисунок 27 – Данные до удаления

Рисунок 28 – Данные после удаления