Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики - стр. 27
Во многих СУБД применяется транзакционная модель, что это такое – узнаем чуть позже, но сейчас необходимо понимать, что при запуске операций изменения, вставки, удаления данных эти изменения появятся в базе только после выполнения команды COMMIT.
Я использовал только команду INSERT и не применял ни COMMIT, ни ROLLBACK, но данные все равно появились в базе. Почему так вышло?
Некоторые редакторы поддерживают режим автофиксации изменений, то есть выполняют команду COMMIT за вас.
Если я перечислю не все колонки, какие есть в таблице, куда мы добавляем данные, будет ошибка?
Необязательно. В колонки, которые вы не перечислили, будет добавлено пустое (NULL) значение, ошибка возникнет только если на колонках этой таблицы есть ограничение NOT NULL или первичный ключ.
Контрольные вопросы и задания для самостоятельного выполнения
День четвертый
Шаг 16. Обновление данных – UPDATE
Введение
Мы научились добавлять данные в таблицу, но очень часто возникают ситуации, когда нам необходимо обновить, пересчитать данные в одной или нескольких колонках.
Теория и практика
Обновление данных в строчках и ячейках таблицы осуществляется с помощью команды UPDATE.
Синтаксис команды
Здесь TABLE_NAME – имя таблицы, где обновляются данные.
Здесь через запятую перечислены имена колонок = значения, а после WHERE описываются условия для отбора обновляемых строк.
Примеры
Добавить к наименованию (CITYNAME) города CITY с кодом (CITYCODE) меньше 2 символ #.
К населению города с населением (PEOPLES) больше 1 000 000 добавить 10.
У всех у людей MAN с именем (FIRSTNAME) Алексей поменять имя на Максим.
У всех у людей с телефоном (PHONENUM), заканчивающихся на 3, поменять имя (FIRSTNAME) на Александр.
Применение обновления UPDATE возможно также без использования предиката WHERE, в этом случае обновятся все строки указанной таблицы в заданных колонках.
Пример, который не нужно выполнять, но обязательно следует изучить.
Обнулить колонку PEOPLES в таблице CITY.
Во всей таблице значение колонки PEOPLES будет равно 0.
Важные замечания
Команда обновления данных UPDATE тоже должна завершаться выполнением COMMIT – фиксацией изменений, либо ROLLBACK – откатом изменений.
При выполнении обновления данных следует быть предельно аккуратным и внимательным: последующее восстановление измененных данных, возврат таблицы к состоянию до выполнения UPDATE очень часто бывает затруднителен.