
- •Лекция № 1. Информационные системы и базы данных.
- •1.5. Документация и методы ее формирования.
- •Лекция № 2. Информационные системы и базы данных. Субд. Определение базы данных.
- •Компоненты sql Server
- •Лекция № 3. Основы языка запросов sql.
- •3.1 Компоненты sql
- •Предложение Описание
- •Операции sql
- •3.2 Запрос на выборку
- •Лекция № 4. Основы языка запросов sql.
- •4.1. Удаление записей с помощью запроса
- •4.2 Добавление записей с помощью запроса
- •4.3 Запрос на обновление
- •4.4 Реализация операции соединения с помощью запроса
- •4.5. Реализация операции объединения с помощью запроса
- •Лекция № 5. Платформа .Net.
- •Лекция № 6. Знакомство с языком программирования с#.
- •Объектно-ориентированное программирование
- •Лек ция № 7. Создание клиентских приложений Windows.
- •Объекты ado.Net
- •Лек ция № 8. Создание клиентских приложений Windows. Подключение к бд
- •Команды для манипулирования данными
- •Параметры
- •Применение объекта DataReader
- •Модификация и обновление данных
- •Модификация данных
- •Связывание, просмотр и фильтрация данных
- •Литература
Лекция № 4. Основы языка запросов sql.
4.1. Удаление записей с помощью запроса
Записи из одной или больше таблиц, перечисленных в предложении FROM, которые удовлетворяют условиям предложения WHERE, можно удалить с помощью запроса на удаление записей. Синтаксис его следующий:
DELETE [таблица.*]
FROM таблицы
WHERE критерии
Этот пример удаляет все записи для работников, чья должность «Ученик». Если предложение FROM включает только одну таблицу, не нужно указывать имя таблицы в инструкции DELETE.
DELETE *
FROM Сотрудники
WHERE Должность = 'Ученик';
4.2 Добавление записей с помощью запроса
Инструкция INSERT INTO предназначена для добавления записей к таблице. Синтаксис запроса для добавления нескольких записей следующий:
INSERT INTO адресат [IN база_данных]
SELECT [источник.]поле1[, поле2[, ...]]
FROM таблицы
Синтаксис запроса для ввода одной записи:
INSERT INTO адресат [(поле1[, поле2[, ...]])]
VALUES (значение1[, значение2[, ...])
При добавлении инструкцией INSERT INTO одной записи необходимо определить все поля записи, в которые будет помещено значение, и значение для каждого поля записи. В поля, значение которых не специфицированы будет вставлено значение по умолчанию или Null. Записи конкатенируются к концу таблицы.
Инструкцию INSERT INTO синтаксиса запроса для добавления нескольких записей можно также использовать с предложением SELECT ... FROM для копирования набора записей другой таблицы или запроса. В этом случае предложение SELECT определяет поля, которые нужно добавить к специфицированной таблице-адресату.
Таблица-источник или таблица-адресат могут специфицировать таблицу или запрос. Если специфицирован запрос, процессор Microsoft Jet конкатенирует набор записей к каждой всем таблицам, указанным в запросе.
В следующем примере в таблице «Сотрудники» создается новая запись:
INSERT INTO Сотрудники (Имя, Фамилия, Должность)
VALUES ('Борис', 'Колесников', 'Ученик');
В следующем примере из предполагаемой таблицы «Ученики» отбираются все ученики, нанятые более 30 дней назад, и их записи добавляются в таблицу «Сотрудники».
INSERT INTO Сотрудники
SELECT Ученики.*
FROM Ученики
WHERE ДатаНайма < Now() - 30;
4.3 Запрос на обновление
Инструкция UPDATE создает запрос, который изменяет значения в полях специфицированной таблицы, основываясь на специфицированных критериях:
UPDATE таблица
SET новое_значение
WHERE критерии
Новое_значение - выражение, определяющее значение, которое должно быть вставлено в указанное поле обновленных записей.
Инструкцию UPDATE особенно удобно использовать для изменения сразу многих записей или в том случае, если записи, подлежащие изменению, находятся в разных таблицах.
Одновременно можно изменить значения нескольких полей. Следующая инструкция SQL увеличивает стоимость заказа на 10 процентов, а стоимость доставки на 3 процента:
UPDATE Заказы
SET СуммаЗаказа = СуммаЗаказа * 1.1, СтоимостьДоставки = СтоимостьДоставки * 1.03
WHERE СтранаПолучателя = 'Грузия';
Инструкция UPDATE не приводит к созданию результирующего набора записей. Чтобы узнать, какие записи будут изменены, сначала нужно просмотреть результаты запроса на выборку, использующего те же самые условия отбора, а затем выполнить запрос на обновление записей.