Обновление нескольких столбцов в таблице базы данных — обычное дело для администраторов баз данных. Например, может потребоваться установить новое значение для столбца на основе значения другого столбца. Например, вы можете обновить значение зарплаты в зависимости от уровня квалификации. Поскольку уровень навыков может меняться несколько раз с течением времени, вы можете обнаружить, что вносите обновления в такую колонку.
Давайте узнаем, как мы можем использовать предложение UPDATE в Oracle, чтобы установить новые значения для заданных столбцов таблицы.
Оператор Oracle UPDATE
Чтобы обновить значение в существующей таблице, мы используем оператор UPDATE, как показано в следующем синтаксисе:
ОБНОВЛЕНИЕ имя_таблицы
УСТАНОВИТЬ столбец1 = новое_значение1,
столбец2 = новое_значение2,
...
столбецN = новое_значениеN
ГДЕ условие;
Где:
- Table_name представляет имя таблицы, которую вы хотите обновить.
- Столбец_1, столбец_2,…,столбецN определяют имена столбцов, которые вы хотите обновить.
- New_value1, new_value2,…new_valueN позволяют установить новое значение для каждого столбца.
- Условие — это необязательное предложение, которое позволяет ограничить обновляемые строки. Если вы пропустите условное предложение, оператор обновит все строки в таблице.
Пример обновления Oracle
Давайте посмотрим на реальный пример того, как мы можем использовать оператор UPDATE в Oracle:
СОЗДАТЬ ТАБЛИЧНЫЕ базы данных (
имя VARCHAR2 ( 50 ) НЕ НОЛЬ,
порт по умолчанию NUMBER,
последняя_версия VARCHAR2 ( двадцать ) НЕ НОЛЬ,
тип VARCHAR2 ( двадцать ) НЕ НОЛЬ,
язык VARCHAR2 ( двадцать ) НЕ НОЛЬ
) ;
Предоставленный оператор создает таблицу для хранения последних баз данных, порта по умолчанию, последней версии базы данных, типа базы данных и языка программирования, которые используются для построения базы данных.
Мы можем вставить некоторые примеры записей, как показано ниже:
ВСТАВИТЬ В БД ( имя, порт по умолчанию, последняя_версия, тип , язык )
ЦЕННОСТИ ( 'Оракул' , 1521 , '19с' , «относительный» , 'SQL' ) ;
ВСТАВИТЬ В БД ( имя, порт по умолчанию, последняя_версия, тип , язык )
ЦЕННОСТИ ( 'Майскл' , 3306 , «8.0» , «относительный» , 'SQL' ) ;
ВСТАВИТЬ В БД ( имя, порт по умолчанию, последняя_версия, тип , язык )
ЦЕННОСТИ ( «Постгрес SQL» , 5432 , '13' , «относительный» , 'SQL' ) ;
ВСТАВИТЬ В БД ( имя, порт по умолчанию, последняя_версия, тип , язык )
ЦЕННОСТИ ( «МонгоДБ» , 27017 , «4.4» , «нереляционный» , 'JavaScript' ) ;
ВСТАВИТЬ В БД ( имя, порт по умолчанию, последняя_версия, тип , язык )
ЦЕННОСТИ ( «Майкрософт SQL сервер» , 1433 , '2017' , «относительный» , 'Т-SQL' ) ;
ВСТАВИТЬ В БД ( имя, порт по умолчанию, последняя_версия, тип , язык )
ЦЕННОСТИ ( «Апач Кассандра» , 9042 , «4.0» , «нереляционный» , 'Ява' ) ;
ВСТАВИТЬ В БД ( имя, порт по умолчанию, последняя_версия, тип , язык )
ЦЕННОСТИ ( «Редис» , 6379 , «6.0» , «нереляционный» , «С++» ) ;
ВСТАВИТЬ В БД ( имя, порт по умолчанию, последняя_версия, тип , язык )
ЦЕНЫ ( 'МарияДБ' , 3306 , «10,5» , «относительный» , 'SQL' ) ;
ВСТАВИТЬ В БД ( имя, порт по умолчанию, последняя_версия, тип , язык )
ЦЕННОСТИ ( 'SQLite' , ноль, «3,34» , «относительный» , 'С' ) ;
ВСТАВИТЬ В БД ( имя, порт по умолчанию, последняя_версия, тип , язык )
ЦЕННОСТИ ( «нео4дж» , 7474 , «4.1» , «нереляционный» , 'Ява' ) ;
ПРИМЕЧАНИЕ. Порт по умолчанию для базы данных SQLite имеет значение NULL, поскольку SQLite не имеет номера порта по умолчанию.
Результирующая таблица:
Таблица обновления Oracle
Предположим, мы хотим обновить last_version, имя и порт по умолчанию для Microsoft SQL Server. Мы можем выполнить запрос на обновление, как показано ниже:
обновить базы данныхустановлен имя = «MS SQL-сервер» ,
default_port = 1400 ,
последняя_версия = '2022'
где имя нравится «Майкрософт SQL сервер» ;
Запрос должен найти строку с именем LIKE «Microsoft SQL Server» и изменить имя, порт по умолчанию и последнюю_версию на новые значения.
ПРИМЕЧАНИЕ. Предыдущие данные приведены для демонстрационных целей. Он может неточно отражать актуальную информацию о базах данных.
После обновления мы можем просмотреть новую таблицу для изменения данных следующим образом:
Как видим, в таблице отражены обновленные изменения.
Заключение
В этом руководстве вы столкнулись с оператором UPDATE, который позволяет обновлять один или несколько столбцов в таблице базы данных.
Однако, как и большинство методов работы с базами данных, у него есть потенциальные недостатки. Например:
- Производительность. Обновление нескольких столбцов требует больше времени и ресурсов, чем обновление одного столбца. Это становится более важным, особенно при умножении большого количества строк со сложными данными.
- Целостность данных. Еще одной проблемой при обновлении нескольких столбцов является целостность данных. При неправильном использовании обновление нескольких столбцов может привести к повреждению или потере данных. Вы можете погрузиться в различные методы нормализации данных, чтобы смягчить это, но всегда полезно быть внимательным. Вы также можете протестировать свои запросы на обновление в процессе разработки, прежде чем запускать их в производство.
- Сложность запроса. Точно так же запуск операторов обновления может увеличить сложность ваших запросов, затруднив их чтение, обслуживание или отладку.
В конце концов, обновление нескольких столбцов в базе данных Oracle может быть полезным в некоторых ситуациях. Тем не менее, важно рассмотреть возможность использования лучших практик для минимизации рисков.