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

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Одна из основных функций, необходимых любой базе данных, — возможность добавлять, удалять и изменять данные. В языке программирования SQL для этого предназначен язык манипулирования данными (data manipulation language, DML). Команды INSERT, UPDATE И DELETE позволяют манипулировать данными на основе ввода информации или поиска ее в базе данных.

В версии Microsoft SQL Server 2005 было введено предложение OUTPUT, позволяющее возвращать информацию из каждой строки, обработанной инструкциями INSERT, UPDATE или DELETE. В версии SQL Server 2008 была введена инструкция MERGE для того, чтобы усовершенствовать выполнение инструкций INSERT, UPDATE и DELETE, обращенных к таблице, основанной на результатах запроса к соединенной таблице. Эти два средства повышают гибкость ваших инструкций DML.

Для обеспечения согласованности и надежности данных SQL Server предоставляет возможность выполнения инструкций в виде составной части транзакции. Транзакция — это группа команд, которая выполняется успешно или терпит неудачу как единое целое. Транзакция должна гарантировать, что если после завершения части транзакции система вышла из строя, вся транзакция будет возвращена к исходному состоянию.

1.1. Вставка данных

Инструкция INSERT позволяет вставлять в таблицу новые строки. В зависимости от схемы таблицы вам может понадобиться предоставить данные для всех или части столбцов таблицы. На требования к данным в ваших инструкциях INSERT могут оказывать влияние ограничения default, свойства identity и значения NULL.

Пример 1.1.

При добавлении данных во все столбцы таблицы SalesReason (Причина покупки клиентом товара) вам не нужно задавать в инструкции INSERT имена столбцов

 

Данные столбца SalesReasoniD не вводятся, т. к. это идентифицирующий столбец, и он заполняется автоматически с помощью механизма управления SQL Server

 

Пример 1.2.

У столбца ModifiedDate (Дата последнего обновления строки) таблицы SalesReason есть связанное с ним ограничение DEFAULT, которое задается в виде функции getdate(). По этой причине следующая команда приведет к тем же результатам, что и предыдущая.

 

Пример 1.3.

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

 

 

Пример 1.4.

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

 

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

Пример 1.5.

В следующей команде берутся строки из таблицы Employees (Сотрудники) и добавляются в таблицу Customers (Клиенты). Поскольку количество и тип данных столбцов в результирующем наборе должны соответствовать целевой таблице, для получения корректного числа столбцов применяется конкатенация (сцепление). Функцией SUBSTRING извлекаются первые пять букв фамилии сотрудника для формирования ID клиента, подобного идентификатору в таблице Customers.

 

И наконец, инструкция SELECT INTO позволяет создать новую таблицу, заполненную результатами заданной инструкции SELECT.  

Пример 1.6.

Следующая команда создает таблицу с именем EmpioyeeDepartment (Отдел сотрудника), включающую имя и фамилию каждого сотрудника, его должность и сведения об отделе.

 

1.2. Изменение данных

Co временем возникает необходимость модифицировать имеющуюся в базе данных информацию. Команда UPDATE позволяет изменять значение одного или нескольких столбцов в одной или нескольких строках таблицы. Добавление значения в столбец, равный в данный момент значению NULL, и удаление значения из столбца выполняются инструкциями UPDATE, а не инструкциями INSERT ИЛИ DELETE.  

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

В простейшей форме инструкции UPDATE требуется только имя изменяемого объекта (таблицы или представления) и устанавливаемое значение. 

Пример 1.7.

Следующая команда обновляет каждую строку в таблице CurrencyRate (Валютный курс) и добавляет 0.005 к валютному курсу.

 

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

Пример 1.8.

Следующая команда в таблице SalesReason (Причина покупки товара клиентом) для SalesReasoniD со значением 10 задает значение столбца Name, равное 'N/A'.

 

С помощью предложения FROM вы также можете обновить информацию в целевой таблице, основываясь на информации из таблицы, присоединенной к ней.,

Пример 1.9.

Cследующая команда увеличивает на 5% цену за единицу для всех товаров красного цвета

 

1.3. Удаление данных

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

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

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.