Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие. Ратманова. Булатова..doc
Скачиваний:
146
Добавлен:
07.03.2015
Размер:
4.54 Mб
Скачать
    1. Ведение базы данных средствамиSql

Написание и выполнение SQL-запросов в среде Management Studio

В среде Management Studio писать запросы можно либо в специальном окне запросов, либо в области SQL-кода некоторой таблицы базы данных. Второй способ предпочтителен, если создаваемые запросы имеют отношение к одной и той же таблице. Чтобы открыть область SQL-кода таблицы необходимо сначала открыть эту таблицу на редактирование (см. рис. 4.1), затем в контекстном меню окна редактирования таблицы выбрать пункт Область /SQL-код, либо воспользоваться кнопкой «Показать областьSQL-кода» на панели инструментов (рис. 4.3).

Эта кнопка активна только в случае, если открыто окно редактирования содержимого таблицы.

Рис. 4.3. Открытие области SQL-кода таблицы

После выполнения вышеописанных действий окно редактирования содержимого таблицы примет вид, показанный на рис. 4.4, где верхняя часть предназначена для написания SQL-запросов.

По умолчанию область SQL-кода содержит шаблон для написания запросов на выборку информации из таблицы (запросSELECT). Смена шаблона выполняется кнопкой «Изменить тип» на панели инструментов (рис. 4.5).

При этом применение шаблонов не является обязательным, пользователь может писать в области SQL-кода любые запросы к таблице по своему усмотрению. Для выполнения запросов используется кнопка «Выполнить кодSQL».

Рис. 4.4. Окно редактирования таблицы с открытой областью SQL-кода

Рис. 4.5. Смена шаблона SQL-запроса к таблице

Специальное окно запросов, которое открывается по кнопке «Создать запрос» на панели инструментов, предоставляет пользователю более широкие возможности по написанию, проверке, исполнению и отображению результатов SQL-запросов к базе данных (рис. 4.6).

Рис. 4.6. Окно редактора запросов к базе данных

При активации окна запросов на панели инструментов становятся доступными такие кнопки, как

  • «Синтаксический анализ» запроса,

  • комментирование выделенных строк,

  • цветовое выделение ключевых слов, констант, комментариев

и прочие возможности, облегчающие процесс написания и исполнения SQL-запросов.

Правилаоформления значений различных типов данных в СУБДMSSQLServer:

  • строковые значения заключаются в одинарные кавычки;

  • даты записываются: '15.10.2009' или '15/10/2009' или '20091015', в зависимости от настроек сервера;

  • в вещественных числах дробная часть отделяется точкой.

    1. Sql-запросы на вставку, модификацию и удаление данных

      1. Добавление новых записей в таблицу (insert)

Общий синтаксис:

а) вставка одной новой строки в таблицу:

INSERT [INTO] <таблица> [(столбцы)]

VALUES (значения)

б) вставка в таблицу одной или более строк, взятых из источника, указанного в подзапросе:

INSERT [INTO] <таблица> [(столбцы)]

<SELECT запрос>

Правила:

  1. Количество элементов в разделе «Столбцы» должно совпадать с количеством элементов в разделе «Значения»; типы данных должны совпадать либо допускать неявное преобразование.

  2. В случае, когда раздел «Столбцы» отсутствует, раздел «Значения» должен содержать столько же значений, сколько всего столбцов в редактируемой таблице, кроме того, значения должны перечисляться в том же порядке, в каком объявлены столбцы таблицы; поэтому рекомендуется всегда явно указывать список столбцов, в которые будут добавляться новые значения.

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

  4. Если для некоторого столбца таблицы задано значение по умолчанию, и требуется в добавляемой записи использовать именно это значение, то в разделе «Значения» для этого столбца необходимо написать ключевое слово DEFAULT.

Примеры:

INSERT INTO detail (detail_name)

VALUES ('Подшипник')

INSERT INTO supply (supplier_id, supply_quantity, supply_cost,

supply_date, detail_id)

VALUES (4, 177, 453.45, '25.09.2009', 1)

INSERT supplier (supplier_type, supplier_name)

VALUES (DEFAULT, 'Смирнов С. С.')