Добавил:
rushevamar@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD шпорки.doc
Скачиваний:
113
Добавлен:
17.06.2021
Размер:
4.62 Mб
Скачать
  1. Язык sql: удаление записей из таблицы

Синтаксис оператора DELETE FROM

DELETE [LOW_PRIORITY | QUICK] FROM table_name

[WHERE where_definition]

[ORDER BY ...]

[LIMIT rows]

или

DELETE [LOW_PRIORITY | QUICK] table_name[.*] [,table_name[.*] ...]

FROM table-references

[WHERE where_definition]

или

DELETE [LOW_PRIORITY | QUICK]

FROM table_name[.*], [table_name[.*] ...]

USING table-references

[WHERE where_definition]

Команда DELETE удаляет из таблицы table_name все записи, удовлетворяющие условию where_definition. Если условие WHERE where_definition не задано, то из таблицы table_name удаляются все записи.

LOW_PRIORITY

- Если указано это ключевое слово, то удаление записей из таблицы table_name не будет произведено до тех пор, пока другие процессы не закончат чтение их этой таблицы.

QUICK

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

table_name

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

LIMIT

- Задает максимальное количество строк, которые могут быть удалены за текущий запрос.

SET DATEFORMAT dmy -- задаем привычный формат даты: день.месяц.год

DELETE FROM Заказ WHERE СрокПоставки < '01.01.2013' GO

Предикаты помимо имен, помимо констант обычно включают в себя операторы сравнения и логические связи (и, или, не), которые перечислены в порядке убывания их старшинства.

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

В остальном построение предикатов подчинаяется страндартным правилам принятым в большинстве языков программирования

Скобки необходимы:

WHERE (фамилия= «Иванов» OR фамилия = «Петров») AND (N_группы=1234 OR N_группы=4321)

  1. Язык sql: использование операторов in, between, like и ключевого слова null в условиях отбора данных

Предикаты могут включать в себя операторы IN, BETWEEN

IN задает множество значений

BETWEEN задает интервал значений, который используется в качестве критериев отбора данных

WHERE фамилия IN(‘Иванов’, ‘Петров’)

AND N_группы BETWEEN 472301 AND 472303

Оператор BETWEEN всегда используется со связкой AND, разделяющий граничные значения интервала.

Для текстовых полей предикатор может использовать оператор LIKE, который задает строку символов в качестве критерия отбора данных.

Эта строка может включать в себя метасимволы «%» и «_»

«%» - любое (в том числе нулевое) число символов

«_» - один любой символ

WHERE фамилия LIKE ‘A%’

WHERE фамииля LIKE ‘Я_о%ий’ AND N_группы 472301

WHERE фамилия LIKE ‘И%ов’ OR фамилия ‘П%ов’

Зарезервированное слово NULL всегда используется в предикатах со связкой IS

DELETE FROM Студент

WHERE N_группы IS NULL AND фамилия IS NOT NULL

  1. Язык sql: обновление записей в таблице

Синтаксис команды UPDATE

UPDATE [LOW_PRIORITY] [IGNORE] tbl_name

SET col_name1=expr1 [, col_name2=expr2, ...]

[WHERE where_definition]

[LIMIT #]

tbl_name

- Задает имя таблицы, в которой будут обновляться записи. На момент запуска команды UPDATE таблица с таким именем должна существовать в базе данных.

LOW_PRIORITY

- Если указан этот параметр, то обновление записи будет отложена до тех пор, пока другие сценарии не закончат чтение из этой таблицы.

IGNORE

- Если некоторые поля таблицы имеют ключи PRIMARY или UNIQUE, и производится обновление строки, в которой эти поля имеют дублирующее значение, то действие команды аварийно завершается и выдается ошибка №1062 ("Duplicate entry 'val' for key N"). Если в команде INSERT указано ключевое слово IGNORE, то обновление записей не прерывается, а строки с дублирующими значениями просто не изменяются.

SET

- После этого ключевого слова должен идти список полей таблицы, которые будут обновлены и непосредственно сами новые значения полей в виде:

WHERE

- Задает условие отбора записей, подлежащих изменению.

LIMIT

- Задает максимальное количество строк, которые могут быть изменены.

Конструкция выражения может включать в себя константы, имена полей и знаки арифметических операций (чаще всего просто константа)

Соседние файлы в предмете Базы данных