Язык SQL очень мощный; некоторые команды могут манипулировать как с одной строкой, так и с одним миллионом строк. Иногда наивные пользователи не представляют себе этой силы.
Следует уделить особенное внимание следующим двум SQL-операторам.
INSERT
INSERT INTO table (список_столбцов)
константа
VALUES ( { хост-переменная } , )
NULL
специальный регистр
INSERT INTO dept
VALUES (12, ‘Engineering’, ‘Simon Moore’, 218000)
INSERT INTO dept (dept_no, dept_name)
VALUES (13, ‘Education’)
Предложение INSERT позволяет вам добавлять новые строки в таблицу.
Возможны два варианта оператора: с указанием списка столбцов и без указания списка столбцов. Рекомендуется задавать имена столбцов. Таким образом вы не будете иметь проблем, если изменилась структура таблицы.
Дополнительной возможностью INSERT предложения является использование
SELECT-предложения.
Две формы оператора:
UPDATE
UPDATE sales_person
SET sales_target = 400000
WHERE dept_no = 3
UPDATE sales_person
SET sales_target = sales_target * 1.2
WHERE dept_no = 3
Остерегайтесь!
UPDATE sales_person
SET sales_target = 400000
Оператор UPDATE позволяет вам изменить содержимое строк. Новые значения могут быть специфическими величинами или величинами, основанными на содержимом таблицы.
За одну операцию может быть изменено несколько значений строки, например:
UPDATE sales_person
SET sales_target = 450000, town = ‘London’
Нормальным случаем считается, когда UPDATE включает предложение WHERE, определяющую, какая строка или строки обновляются. Без WHERE все строки в таблице получат новое значение!
DELETE
DELETE FROM dept
WHERE dept_no > 20
Остерегайтесь!
DELETE FROM dept
DELETE позволяет вам удалить строки из базы данных. Подобно оператору UPDATE, DELETE может иметь секцию WHERE; без нее содержимое таблицы будет удалено полностью.
Удаление - невостановимая операция; не существует операции восстановления после выполнения интерактивной операции DELETE. Примите во внимание,что для начинающих пользователей привилегии на удаление не предоставляются.
Расширенный SQL
Наряду с простым SELECT предложением, SQL предлагает некоторые дополнительные средства. Они позволяют получить суммарную информацию и получить доступ к данным необычным путем.
В этой главе мы покажем некоторые из этих возможностей.
Содержимое этой главы вам необходимо для:
Расширенный SELECT
Секция FROM расширена
включением
несколькихтаблиц
SELECT * FROM customer, orders
WHERE customer.cust# = order.cust#
Секция WHERE включает
условия, относящиеся
к двум таблицам
Создаем простое соединение!
В начале расширяем секцию FROM включением каждой из таблиц, используемых в соединении.
Затем добавляем секцию WHERE, предикаты которой относятся к каждой таблице, указанной в секции FROM.
Список столбцов может быть задан * или перечислением тех столбцов, которые вам необходимо получить из каждой таблицы.
Если в двух таблицах имеются столбцы с одинаковыми именами, то такие столбцы уточняются добавлением имени таблицы перед именем столбца.
Замечание: если избыточные отношения существуют между несколькими таблицами, включите эти отношения в WHERE секцию. Это позволит провести оптимизацию для выбора стратегии выполнения запроса.
Соединения
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.