Изменение данных. Вставка данных. Изменение данных. Удаление данных. Применение инструкции TRUNCATE TABLE, страница 2

У инструкции DELETE самая простая запись из трех синтаксических записей инструкций DML. Как и в случае инструкции UPDATE, при написании инструкции DELETE важно не забывать о вставке предложения WHERE

Если выполнить инструкцию DELETE без предложения WHERE, из таблицы будут удалены все строки.

Как и команды INSERT и UPDATE, инструкция DELETE может удалить строки в одной таблице, основываясь на информации, возвращенной из присоединенной таблицы. Для этого определяется второе предложение FROM.

Пример 1.10.  

Следующая команда удаляет из таблицы ORDER DETAILS (Подробные сведения о заказе) строки с заказами, которые были помещены до 10 июля 1996 г. и были доставлены.

 

1.4. Применение инструкции TRUNCATE TABLE

Инструкцию TRUNCATETABLE, как и инструкцию DELETE без предложения WHERE, можно использовать для удаления всех данных из таблицы. 

У инструкции TRUNCATETABLE есть несколько отличий от инструкции DELETE.  

v  Инструкция DELETE регистрирует сведения о каждой удаленной строке, а инструкция TRUNCATETABLE создает только элементы, необходимые для освобождения страниц данных. 

v  Инструкция TRUNCATETABLE выполняется быстрее. 

v  Если в таблице есть идентифицирующий столбец, команда TRUNCATETABLE переустанавливает начальное значение, применяемое для идентификации.

Ни инструкция DELETE без предложения WHERE, ни инструкция TRUNCATETABLE не влияют на структуру схемы таблицы или связанных объектов.

В базе данных Mytest добавить новые данные в таблицу Credit (Кредит). Необходимо также обновить и удалить данные из таблицы Credit.

Упражнение 1. Добавление данных

1.  Откройте среду Microsoft SQL Server Management Studio (SSMS) и установите соединение с экземпляром сервера SQL Server 2008.

2.  В окне создания запроса введите и выполните следующие инструкции SQL для создания базы данных Mytest.

USE master;

GO

IF DB_ID ('Mytest') IS NOT NULL DROP DATABASE Mytest;

GO

CREATE DATABASE Mytest; GO

3.  Создайте таблицу Credit в базе данных mytest.

USE Mytest;

GO

CREATE TABLE Credit

(CustomerID int Primary Key IDENTITY

  , Firstname char(20) NOT NULL

  , Lastname char(20) NOT NULL

  , CreditLimit int DEFAULT 0 NOT NULL

  , Email char(20) NULL);

4.  Откройте окно создания запроса, введите и выполните команду для просмотра таблицы Credit. 

USE Mytest;

GO

SELECT * FROM Credit;

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

 

6.  В текущем окне запроса под имеющимся программным кодом введите, выделите и выполните команду, чтобы, задавая конкретные значения для каждого столбца в соответствии с его относительным местоположением в схеме таблицы, вставить в таблицу Credit новую строку, в которой данные представлены не для всех столбцов. В качестве ограничения величины кредита ввести “0” как значение по умолчанию, заданное во время создания таблицы.

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

 

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

 

9.  Сохраните  сценарий.

Упражнение 2. Обновление данных

В базе данных Mytest обновить данные, введенные в таблицу Credit.

1.  Откройте окно создания запроса, введите и выполните команду для добавления адреса электронной почты punya@adatum.com клиента Punya Palit (CustomerID = 4) таблицы Credit. 

 

2.  В текущем окне запроса под имеющимся программным кодом введите, выделите и выполните команду для увеличения предельных значений кредита на 500 в каждой строке (столбец CreditLimit).

 

3.  Сохраните  сценарий.

Упражнение 3. Удаление данных

Удалить данные, введенные в таблицу Credit в базе данных Mytest. Проверить действие инструкции TRUNCATE TABLE.

1.  Откройте окно создания запроса, введите и выполните команды для удаления строки о клиенте Punya Palit таблицы Credit и проверки результатов. 

 

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

 

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

 

4.  В текущем окне запроса под имеющимся программным кодом введите, выделите и выполните команду для усечения таблицы и переустановки значения свойства IDENTITY столбца CustomerID в его исходное начальное значение с помощью TRUNCATE TABLE.

 

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

 

6.  Сохраните  сценарий.