
- •Работа с базами данных в субд ms sql Server 2008r
- •1 Описание работы и задания 7
- •1 Описание работы и задания 25
- •1 Описание работы и задания 39
- •1 Описание работы и задания 62
- •1 Описание работы и задания 73
- •Введение в Microsoft Visual FoxPro Лабораторная работа 1.1 Создание баз данных в субд ms Visual FoxPro
- •1 Описание работы и задания
- •Определить условия на значения и сообщения об ошибках некоторых полей.
- •2 Выполнение работы
- •2.1 Обращение к среде sql Server Management Studio
- •2.2 Знакомство с языком Transact-sql
- •2.2.1 Возможности t-sql и особенности его использования
- •2.2.2 Создание базы данных
- •2.2.3 Создание таблиц
- •2.2.4 Манипулирование данными с помощью команд t-sql
- •2.3 Работа с обозревателем объектов
- •2.3.1 Создание базы данных
- •2.3.2 Создание таблиц
- •2.3.3 Занесение данных в созданную таблицу
- •2.3.4 Создание объектов с помощью диаграмм данных и поддержка целостности данных
- •Лабораторная работа 2.2 Создание запросов в субд ms sql Server 2008r
- •1 Описание работы и задания
- •2 Выполнение работы
- •2.1 Оператор select
- •2.1.1 Простая выборка данных
- •2.1.2 Аналитическая выборка данных
- •2.1.3 Условие отбора where
- •2.1.4 Группировка записей group by
- •2.1.5 Условие на группируемые поля having
- •2.1.6 Использование функций преобразования различных типов данных
- •2.2 Подзапросы
- •2.3 Выборка данных из нескольких таблиц
- •2.3.1 Внутреннее соединение
- •2.3.2 Внешнее соединение
- •2.3.3 Перекрестные соединения
- •2.2.4 Объединение нескольких наборов результатов
- •Лабораторная работа 2.3 Хранимые процедуры и триггеры
- •1 Описание работы и задания
- •2 Выполнение работы
- •2.1 Хранимые процедуры
- •2.1.1 Переменные. Задание значений переменных
- •2.1.2 Использование переменных в запросах sql
- •2.1.3 Создание хранимых процедур
- •2.1.3.1 Создание хранимой процедуры без параметров
- •2.1.3.2 Создание и изменение хранимой процедуры с входными и выходными параметрами
- •2.1.3 Удаление хранимых процедур
- •2.2 Триггеры
- •2.3 Списки встроенных функции для работы с данными типа дата и строковыми данными
- •Лабораторная работа 2.4 Курсоры
- •1 Описание работы и задания
- •2 Выполнение работы
- •2.1 Понятие курсора
- •2.2 Реализация курсоров в среде ms sql Server
- •2.3 Управление курсором в среде ms sql Server
- •2.3.1 Объявление курсора
- •2.3.2 Открытие курсора
- •2.3.3 Выборка данных из курсора
- •2.3.4 Изменение и удаление данных
- •2.3.5 Закрытие курсора
- •2.3.6 Освобождение курсора
- •2.2. Безопасность баз данных и привилегии
- •2.3. Основные методы защиты данных в ms sql Server 2008 r2
- •Список использованных источников
- •Список предметных областей
- •Типы данных sql 2008r
2.2.4 Манипулирование данными с помощью команд t-sql
Как говорилось уже выше, в качестве операций манипулирования данными выступают операции вставки, изменения и удаления данных. Рассмотрим эти операции:
а) Заполнение таблиц производится при помощи следующей команды:
INSERT INTO <Имя таблицы> [(<Список полей>)]
VALUES (<Значения полей>)
где <Имя таблицы> - таблица, куда вводим данные,
(<Список полей>) - список полей, куда вводим данные, если не указываем, то подразумевается заполнение всех полей, в списке полей поля указываются через запятую,
( <Значения полей> ) - значение полей через запятую.
В качестве значений можно указать константу Default, то есть будет поставлено значение по умолчанию, либо можно подставить оператор Select. Здесь он используется как инструмент вычисления формул.
В качестве примера добавления записи приведем пример заполнения таблицы «Студент» следующими значениями полей: Фамилия = Колодей, Прописка = Мальта, Оценка Физика = 100.
INSERT INTO Студент (Фамилия, Прописка, [Оценка Физика])
VALUES ('Колодей', 'Мальта', 100)
Самостоятельная работа:
Написать и выполнить команду, в которой одно из полей будет заполняться значением, установленным по умолчанию. Сохраненный скрип назвать «3. Table_Default»
Также стоит уделить внимание написанию команд в окне запросов и использованию литералов.
Значением литерала является алфавитно-цифровая, десятично-шестнадцатеричная или числовая константа. Строковая константа содержит один или более символов из набора символов, заключенных в два одиночных апострофа (‘’) или в двойные кавычки (“”) (одиночные апострофы более предпочтительны, чем двойные кавычки). Если вам нужно включить апостроф в строку, заключенную в апострофы, используйте два подряд идущих апострофа. Десятично-шестнадцатеричные константы используются для представления непечатных символов и других двоичных данных. Каждая десятично-шестнадцатеричная константа начинается с символов 'Ох', за которыми следуют числа и/или буквы, соответствующие шестнадцатеричным цифрам.
Так, константы, имеющие тип CHARACTER и VARCHAR, в выражениях SQL заключаются в одиночные кавычки, например, 'текст'.
б) Удаление отдельных столбцов и отдельных строк из таблицы
Из таблицы можно удалить все столбцы, либо отдельные записи. Это действие осуществляется командой
DELETE FROM <Имя таблицы>
[WHERE <Условие>]
где <Условие> - условия, которым удовлетворяют удаляемые записи.
Если условия не указаны, то удаляются все строки таблицы. Если условия указаны, то удаляются записи, поля которых соответствуют условию. Если необходимо из таблицы удалить все записи, но сохранить ее структуру, для этого используют команду TRUNCATE TABLE <Имя таблицы> при этом все данные будут удалены, но сама таблица останется.
Например, чтобы удалить записи из таблицы «Студент» у которых поле Прописка = Таллин.
DELETE FROM Студент
WHERE Прописка = 'Таллин'
в) Для изменения данных в таблице используется команда UPDATE:
UPDATE <Имя таблицы>
SET
<Имя поля1> = <Выражение1>,
[<Имя поля2> = <Выражение2>,]
…
[WHERE <Условие>]
Здесь <Имя поля1>, <Имя поля2> - имена изменяемых полей,
<Выражение1>, <Выражение 2> - либо конкретные значения, либо NULL, либо операторы SELECT. Здесь SELECT применяется как функция.
<Условие> - условие, которым должны соответствовать записи, поля которых изменяем.
Пусть, например, в таблице «Студент» у студента Колодей необходимо поменять имя с Алексея на Александр, адрес Москва на Норильск, а оценку по физике исправить с 70 на 100.
UPDATE Студент
SET
Имя = 'Александр',
Прописка = 'Норильск',
[Оценка Физика] = 100
WHERE Фамилия = 'Колодей'