• Представления создаются посредством добавления в начало запроса следующего условия: CREATEVIEWV_VIEWNAMEAS.
• Представления особенно полезны при написании длинных запросов.
• Представления можно изменять и удалять с помощью функций из вашей версии СУБД или с помощью команд SQL.
Глава 10. DML — язык управления данными
Все операторы SQL, которые вы уже изучили, использовались для извлечения информации из базы данных или создания производных данных на основе имеющихся значений. Эта глава познакомит вас с
Внимание
С этими командами лучше попрактиковаться в «песочнице», например на нашей учебной базе данных. Использование DML в рабочей базе с реальными данными может привести к фатальным последствиям.
Чем различаются анализ данных и управление базами данных
До сих пор мы говорили о том, что основная цель SQL-запросов — извлечение существующих данных из базы данных и преобразование их в полезную информацию (на примере компании sTunes). Но, как мы упоминали во введении, SQL выполняет гораздо более сложные задачи, чем просто превращение данных в значимую информацию. Существуют такие специалисты, как разработчики баз данных и администраторы баз данных, контролирующие рост, улучшение и управление базой данных компании. Функции этих специалистов различаются в зависимости от компании и реализации базы данных. Даже опытные пользователи SQL расходятся во мнениях о том, является ли язык DML (Data Manipulation Language — язык управления данными) отдельной областью изучения или его следует изучать совместно с операторами SQL, предназначенными только для извлечения информации.
На мой взгляд,
новичкам могут быть непонятны различия в ролях тех, кто работает с базами данных. Язык DML отлично подходит для администрирования и разработки баз данных. Если компания небольшая и в ней используется только одна база данных, роли аналитика, разработчика и администратора могут быть назначены одному человеку, и этим человеком можете быть вы! Так что даже если ваша основная цель — просто научиться писать необходимые запросы, важно понять работу DML.
Данными в РСУБД можно управлять с помощью следующих DML-команд: INSERT, UPDATE и DELETE. Как следует из названий, эти команды**** могут использоваться для добавления, изменения и удаления данных из таблиц в базе данных. Для нашей базы sTunes мы продемонстрируем, как выполнить задание от руководства компании на добавление новых исполнителей к нашей музыкальной базе, добавление новых записей, а затем их удаление.
Примечание
В DB Browser при внесении любых изменений в базу данных sTunes с использованием DML отображается сообщение с предложением сохранить изменения или закрыть файл базы данных без сохранения изменений. Вы можете сделать копию исходного файла базы данных, чтобы попрактиковаться в работе с базой данных, не опасаясь потерять оригинал.
Добавление данных в БД
Команда INSERT используется для вставки новых записей в таблицу. Существует несколько способов написать команду INSERT. Один из способов — использовать INSERTINTO и указать необходимое поле. Допустим, компания sTunes расширяет свой ассортимент и хочет, чтобы мы добавили в таблицу artists еще нескольких исполнителей.
Рассмотрим, как добавить новую запись в таблицу artists с помощью команды INSERT.
INSERT INTO
artists (Name)
VALUES ('Bob Marley')
Эта вставка состоит из трех элементов: таблицы, поля и значения. Таблица artists указана после команды INSERTINTO, где названа таблица, которую необходимо изменить. За ним следует имя поля, заключенное в круглые скобки (). В данном случае мы хотим добавить нового исполнителя, добавив его имя в поле Name. Затем следует ключевое слово VALUES, после которого в круглых скобках указано значение, которое необходимо добавить в таблицу artists. В нашем примере это Bob Marley. Bob Marley — это текстовое значение, поэтому оно заключено в одинарные кавычки.
Напоминание
Мы можем проанализировать тип данных поля Name в таблице artists, просмотрев вкладку Database Structure (Структура базы данных). В нашем случае тип данных — NVARCHAR(120), или символьный тип данных с установленным ограничением в 120 символов.
Практические задания
• Проанализируйте результат выполнения команды INSERT.
• Напишите оператор SELECT, чтобы найти новое добавленное значение.
• В таблицу artists добавьте значение Peter Tosh.
• Какой ID у добавленной записи Bob Marley?
Примечание
В таблице artists имеется второй столбец — ArtistId. Его не надо указывать в команде INSERT, так как это столбец с автоматическим приращением. Это означает, что в столбце автоматически создается новый номер для новых добавляемых записей.