В таблицу MAN1 добавить все строки из MAN.
Важные замечания
Команда INSERT является командой модификации данных, поэтому ее выполнение необходимо завершить одной из следующих команд:
COMMIT – фиксация изменений;
ROLLBACK – откат изменений.
Только после выполнения фиксации изменений данные появятся в базе.
Обратите внимание: при добавлении данных типа дата (DATE) мы использовали следующую конструкцию: DATE’YYYY-MM-DD», YYYY – текущий год, ММ – месяц, DD – день.
При использовании INSERT с запросом SELECT также необходимо, чтобы последовательность и типы колонок, перечисленных после команды INSERT, совпадали с последовательностью и типами колонок в запросе SELECT.
Вопросы учеников
Во многих СУБД применяется транзакционная модель, что это такое – узнаем чуть позже, но сейчас необходимо понимать, что при запуске операций изменения, вставки, удаления данных эти изменения появятся в базе только после выполнения команды COMMIT.
Некоторые редакторы поддерживают режим автофиксации изменений, то есть выполняют команду 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 очень часто бывает затруднителен.
Команда UPDATE TABLE set column1 = val1, columnn = valn без инструкции WHERE обновит значения во всех строчках таблицы TABLE колонок column1, column, будьте особо осторожны при выполнении таких команд.
Вопросы учеников
Да, при обновлении текстовых данных необходимо заключать значения в одинарные кавычки.