Приводим данные в порядок с помощью Microsoft Access (часть7)
Продолжим знакомство с SQL. Рассмотрим запросы на вставку, обновление и удаление данных.
Запрос на вставку данных начинается с оператора INSERT INTO, далее следует имя таблицы и в скобках перечисление полей таблицы в которые мы хотим добавить данные, затем оператор VALUES и в скобках значения полей через запятую. Важно правильно соотнести перечисление полей и значений, иначе из-за несовпадения типов вставка не произойдет или произойдет со вставкой данных не в те поля. Заметим, что текстовые значения полей мы заключаем в двойные кавычки, а вот значение поля [companyid] нет, так как значение данного поля числовое.
Запрос на вставку данных будет иметь вид:
INSERT INTO contacts (name, surname, email, companyid)
VALUES ("Мария", "Пыхтина", "mariya85@ya.ru", 1);
Выполним запрос, нажав на красный восклицательный знак, Access предупреждает нас об изменениях, которые произойдут после выполнения запроса.
Убедимся, что данные добавлены корректно.
Запрос на обновление предназначен для изменения данных полей. Начинается запрос с оператора UPDATE, затем следует имя таблицы, оператор SET и перечисление полей с их новыми значениями.
Важно помнить, что результаты обновления невозможно отменить. Правильность выполнения запроса можно проверить запросом на выборку, удовлетворяющего параметрам заданным в запросе на обновление. Сразу добавим секцию WHERE иначе обновление коснется всего поля.
Запрос на обновление данных будет иметь вид:
UPDATE contacts SET email="mariya85@rambler.ru" WHERE id =21;
Выполним запрос.
Убедимся, что данные обновились.
Запрос на удаление начинается с оператора DELETE, затем следует символ (*) - что означает удаление записи полностью, если же нам надо удалить значение нескольких полей мы пользуемся запросом на обновление, затем оператор FROM с указанием имени таблицы, сразу же добавим секцию WHERE иначе будут удалены все записи таблицы.
Удаленные записи нельзя будет восстановить. Поэтому делать это нужно крайне аккуратно. И не забывать о том, что у нас есть связанные данные в других таблицах, которые тоже придется удалять. Чаще всего данные отмечаются каким-либо признаком и просто исключаются из выборки. Для этого у нас может послужить поле [active]. Так же при удалении записи, значение поля [id] с типом данных счетчик исключается из счетчика.
Запрос на удаление данных будет иметь вид:
DELETE * FROM contacts WHERE id =21;
Выполним запрос.
Убедимся, что указанная запись удалена.







Зачем вы грузите людей чистым SQL, если в Accesse один из самых лучших графических конструкторов запросов? Я ни в одной СУБД не встречал настолько простого, не тормозного и удобного конструктора. Причём "редактор" SQL в акцессе самый говёный из всех, что я видел. Просто блокнот, который посылает тебя куда подальше при любой ошибке и ты не можешь понять, что он тебя хочет. Особенно его интерпретация join с вложенными скобками. Т.е. в конструкторе всё легко и просто, но, как только переключаешься в SQL-редактор, так перестаёшь хоть что-нибудь понимать.
Короче, Акцесс - это быстрая (в плане скорости создания) и простая БД для клерка, дополняющая Excel. В этой парадигме и надо его рассматривать. Конечно, на нём можно работать и с ораклом и ms-sql. И многопользовательскую среду с разграничением прав соорудить. Но это в первую очередь БД на коленке, где "программировать" можно мышкой. Легко, быстро и красиво.
Зря вы отпугиваете юзеров всё настолько усложняя. Когда дело дойдёт до sql-инъекций в VBA, человек сам этого захочет и научится. Здесь вы его этому не сможете научить ;)