Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
задания практика 3 часть консоль БД MySQLпо ПР ТРЗБД_.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Команда update

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

Синтаксис команды приведен ниже:

UPDATE ИмяТаблицы1 [ ,ИмяТаблицы2 ]

SET ИмяСтолбца1 = { Выражение1|DEFAULT }

[ ,ИмяСтолбца2={ Выражение1|DEFAULT } ] ...

[WHERE Условие]

[ORDER BY ...]

[LIMIT КолвоСтрок];

После оператора UPDATE указывается список таблиц, столбцы которых будут обновлены. Ключевое слово SET задает список столбцов с указанием значений, которые должны быть им назначены. Одной командой можно обновить несколько столбцов.

Условие WHERE задает подмножество строк, которое будет обновлено.

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

Задание 2

  1. Увеличить зарплату сотрудников 3 отдела в 1,2.

UPDATE Sotr SET Zarpl=Zarpl*1,2 WHERE N_OTD=3;

  1. Отдел с номером 3 переименовать в отдел с номером 33.

UPDATE Otdel, Sotr SET Otdel.N_otd=33, Sotr.N_Otd=33

WHERE Otdel. N_otd=3 and Sotr.N_Otd=3;

Команда delete

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

Синтаксис удаления записей в одной таблице:

DELETE FROM ИмяТаблицы

[WHERE условие]

[ORDER BY ...]

[LIMIT КолСтрок];

Синтаксис удаления записей в нескольких таблицах:

DELETE ИмяТаблицы1[.*] [, ИмяТаблицы2[.*]] ...

FROM СписокТаблиц

[WHERE условие];

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

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

Задание 3

  1. Удалить все строки из таблицы Otdel

DELETE FROM Otdel;

  1. Удалить одну строку в таблице Otdel с номером отдела 55 и все строки из таблицы Sotr, которые на нее ссылаются.

DELETE otdel, sotr FROM otdel1, sotr1

WHERE otdel.nomer =sotr.nom AND sotr.nom =55;

Контрольные вопросы

  1. Можно ли одним оператором INSERT к одной таблице добавить

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

  3. Можно ли при добавлении новой записи в таблицу с помощью оператора INSERT не заполнять новым значением поле AUTO_INCREMENT идентичную. Если да, то какое значение получит это поле?

  4. Можно ли при добавлении новой записи в таблицу с помощью

  5. оператора INSERT не указывать список имен полей, в которые заносятся значения перед VALUES?

  6. В каких случаях требуется явное указание списка полей перед

  7. VALUES при добавлении новой записи в таблицу с помощью оператора INSERT?

  8. Можно при обновлении записей командой UPDATE обновить

  9. сразу несколько полей таблицы?

  10. Можно ли с помощью оператора UPDATE обновить записи нескольких

  11. таблиц? Приведите пример.

  12. Можно ли при удалении записей оператором DELETE удалить записи нескольких таблиц? Приведите пример.