Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики - страница 20



Контрольные вопросы и задания для самостоятельного выполнения

1. Сколько строк обновит команда UPDATE AUTO SET MARK = «BMW» WHERE 1=0?
2. Добавить 1 к возрасту людей (MAN) c именем Андрей.
3. Добавить 2 к возрасту людей (MAN), чей возраст больше 19 лет.
4. К имени людей (MAN), чей телефон содержит 915, добавить префикс 915.
5. У всех у людей (MAN) с телефоном, чей возраст больше 22 лет, поменять имя на Роман.

Шаг 17. Удаление данных – DELETE

Введение

Иногда некоторые данные нам необходимо удалять из таблиц. Для этого в языке SQL есть специальная команда – DELETE.

Теория и практика

Команда DELETE.

Синтаксис


Здесь Имя таблицы – имя таблицы, из которой мы удаляем строки, WHERE – условие для отбора строк, которые мы удаляем.

Примеры

Удалить записи из таблицы CITY1 с кодами городов CITYCODE 7, 9.



Удалить из таблицы AUTO1 все автомобили BMW (MARK).



Удалить из таблицы AUTO1 все автомобили с датой выпуска больше 01.01.2017.



Завершите выполнение командой COMMIT для фиксации изменений.

Важные замечания

Данная команда может удалить записи только в одной заданной таблице.


Команда DELETE также должна завершаться инструкцией COMMIT для фиксации изменений в базе.


Следует помнить, что язык SQL в ORACLE поддерживает механизм транзакций, поэтому модификации данных, в том числе и операции удаления, чаще всего необходимо завершать командой СOMMIT или ROLLBACK.


COMMIT – для фиксации изменений;

ROLLBACK – для отката изменений.


Команда DELETE без инструкции WHERE очищает все строки в таблице, поэтому при использовании команды DELETE надо соблюдать предельную осторожность.

Вопросы учеников

Чем отличается команда DELETE от команды DROP?

Это совершенно разные команды. Я предлагаю повторить материал на эту тему и ответить на данный вопрос самостоятельно.

Как еще можно очистить таблицу?

Для этого есть специальный оператор TRUNCATE TABLE TABLENAME. При его выполнении происходит быстрая очистка всех записей таблицы. Мы еще будем изучать эту тему в следующих шагах.

Я пытаюсь удалить записи из некоторой таблицы, но возникает ошибка.

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

Контрольные вопросы и задания для самостоятельного выполнения

1. Чем команда DELETE TABLE_NAME отличается от команды DROP TABLE TABLE_NAME?
2. Напишите команду для удаления из таблицы AUTO таких записей, где дата выпуска авто больше 2018 года.
3. Повторите материалы данного шага.

Шаг 18. Псевдонимы

Введение

В языке SQL есть такая синтаксическая конструкция, как псевдонимы.

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

Теория и практика

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


Примеры

Вывести из таблицы MAN колонки «имя», «фамилия» и «возраст».

Для таблицы задать псевдоним m для колонки имени (FIRSTNAME), для колонки фамилии (LASTNAME) – Fml.



Рисунок 31. Демонстрация работы псевдонимов: запрос


Вывести из таблицы AUTO марку и цвет автомобиля.

• Для таблицы AUTO задать псевдоним AV;
• для колонки «марка» задать псевдоним Mr;
• для колонки «цвет» задать псевдоним CV.

Вывести только автомобили с годом выпуска больше 01.01.2001.



Рисунок 32. Запрос к AUTO: псевдонимы