INSERT, UPDATE и DELETE
Вы научились получать информацию из базы данных, теперь мы переходим к вставке, редактированию
и удалению данных. Эти операции производятся тремя инструкциями INSERT, UPDATE и DELETE соответственно.
Рассмотрим их по порядку. Для проведения экспериментов нам понадобятся копии таблиц gb и message.
Перейдите в раздел "Таблицы", щелкните мышкой на таблице gb, в меню "Правка" выберите пункт
"Копировать", а затем "Вставить". Сохраните таблицу вместе с данными под именем gb2.
То же самое проделайте с таблицей message.
Инструкция INSERT имеет следующий синтаксис:
INSERT int имя_таблицы [ имя_столбца1 [, имя_столбца2] ...]
VALUES ( значение1 [, значение2] ...)
Для регистрации новой гостевой книги и вставки записи в таблицу gb мы будем использовать
следующий запрос: INSERT INTO gb2 (name, http, email, quantity, description, it_date)
VALUES('Vasya Pupkin', 'pupkin.ru', 'pupkin@pupkin.ru', 7, 'Гостевая книга для сайта Васи Пупкина', NOW()).
Этот запрос вставляет в таблицу gb2 новую запись. Обратите внимание, как вставляется дата.
В базе данных есть ряд функций, которые можно использовать в SQL-запросах. Функция NOW(), как вы
догадались, возвращает текущее время. Список функций зависит от конкретной СУБД, наиболее
распространенные будут рассмотрены в этой книге. Инструкция UPDATE - редактирование
группы записей - имеет следующий синтаксис:
UPDATE имя_таблицы
SET имя_столбца1=значение1, имя_столбца2=значение2, ...
WHERE условие
Например, мы хотим изменить адрес электронной почты и количество записей, выводимых на одной странице для
гостевой книги Васи Пупкина. Это можно сделать командой UPDATE gb2 SET email='vasya@itsoft.ru', quantity=9 WHERE gb_id=25
или UPDATE gb2 SET email='vasya@itsoft.ru', quantity=9 WHERE name='Vasya Pupkin'.
Первый SQL-запрос более правильный, он изменит значения ячеек записи с идентификатором 25.
Второй запрос изменит все записи, у которых в поле name стоит Vasya Pupkin.
Будьте осторожны, не забывайте писать условия, иначе будут модифицированы все записи.
И наконец, последняя инструкция DELETE - удаление группы записей, ее синтаксис:
DELETE FROM имя_таблицы WHERE условие
Для того чтобы удалить гостевую книгу Васи Пупкина, дайте команду
DELETE FROM gb2 WHERE gb_id=25. Если вы забудете указать условие, то будут удалены все записи.
Дайте команду DELETE FROM gb2, и все записи будут удалены. Выполните эту команду.
А теперь восстановим данные при помощи инструкции INSERT. Дело в том, что инструкцию INSERT
можно использовать совместно с инструкцией SELECT: INSERT INTO gb2 SELECT * FROM gb.
Выполните эту команду, и все записи будут восстановлены.
Упражнения
Напишите SQL-запросы:
- Добавления своей гостевой книги.
- Изменения количества выводимых сообщений на страницу с 10 штук на 9.
- Удаления записей с пустыми полями name или email или description.
- Добавления сообщения в свою гостевую книгу, т.е. вставки записи в таблицу message2.
- Редактирования сообщения из своей гостевой книги.
- Удаления сообщения из своей гостевой книги.
- Удаления гостевой своей гостевой книги.
|