Oracle 업데이트 여러 열

Oracle Eobdeiteu Yeoleo Yeol



이 자습서에서는 UPDATE 명령을 사용하여 데이터베이스 테이블의 여러 열을 업데이트하는 방법을 알려줍니다.

데이터베이스 테이블에서 여러 열을 업데이트하는 것은 데이터베이스 관리자에게 일반적인 현상입니다. 예를 들어 다른 열의 값을 기반으로 열의 새 값을 설정해야 할 수 있습니다. 예를 들어 기술 수준에 따라 급여 값을 업데이트할 수 있습니다. 기술 수준은 시간이 지남에 따라 여러 번 변경될 수 있으므로 이러한 열을 업데이트하는 자신을 찾을 수 있습니다.

Oracle에서 UPDATE 절을 사용하여 주어진 테이블 열에 대한 새 값을 설정하는 방법을 알아보겠습니다.







오라클 업데이트 문

기존 테이블의 값을 업데이트하려면 다음 구문과 같이 UPDATE 문을 사용합니다.



테이블 이름 업데이트
SET 열1 = new_value1,
column2 = new_value2,
...
columnN = new_valueN
WHERE 조건;

어디에:



  1. Table_name은 업데이트하려는 테이블의 이름을 나타냅니다.
  2. Column_1, column_2,…,columnN은 업데이트하려는 열의 이름을 정의합니다.
  3. New_value1, new_value2,…new_valueN을 사용하면 각 열에 새 값을 설정할 수 있습니다.
  4. 조건은 업데이트된 행을 제한할 수 있는 선택적 절입니다. 조건절을 건너뛰면 명령문이 테이블의 모든 행을 업데이트합니다.

Oracle 업데이트 예

Oracle에서 UPDATE 문을 사용하는 방법에 대한 실제 예를 살펴보겠습니다.





CREATE TABLE 데이터베이스 (
이름 VARCHAR2 ( 오십 ) NULL이 아님,
default_port 번호,
최신_버전 VARCHAR2 ( 스물 ) NULL이 아님,
유형 VARCHAR2 ( 스물 ) NULL이 아님,
언어 VARCHAR2 ( 스물 ) NULL이 아님
) ;

제공된 문은 데이터베이스를 구축하는 데 사용되는 최신 데이터베이스, 기본 포트, 최신 데이터베이스 버전, 데이터베이스 유형 및 프로그래밍 언어를 저장할 테이블을 생성합니다.

다음과 같이 일부 샘플 레코드를 삽입할 수 있습니다.



INSERT INTO 데이터베이스 ( 이름, default_port, latest_version, 유형 , 언어 )
가치 ( '신탁' , 1521년 , '19c' , '관계' , 'SQL' ) ;
INSERT INTO 데이터베이스 ( 이름, default_port, latest_version, 유형 , 언어 )
가치 ( 'MySQL' , 3306 , '8.0' , '관계' , 'SQL' ) ;
INSERT INTO 데이터베이스 ( 이름, default_port, latest_version, 유형 , 언어 )
가치 ( '포스트그레SQL' , 5432 , '13' , '관계' , 'SQL' ) ;
INSERT INTO 데이터베이스 ( 이름, default_port, latest_version, 유형 , 언어 )
가치 ( '몽고DB' , 27017 , '4.4' , '비관계형' , '자바스크립트' ) ;
INSERT INTO 데이터베이스 ( 이름, default_port, latest_version, 유형 , 언어 )
가치 ( '마이크로소프트 SQL 서버' , 1433년 , '2017' , '관계' , 'T-SQL' ) ;
INSERT INTO 데이터베이스 ( 이름, default_port, latest_version, 유형 , 언어 )
가치 ( '아파치 카산드라' , 9042 , '4.0' , '비관계형' , '자바' ) ;
INSERT INTO 데이터베이스 ( 이름, default_port, latest_version, 유형 , 언어 )
가치 ( '레디스' , 6379 , '6.0' , '비관계형' , 'C++' ) ;
INSERT INTO 데이터베이스 ( 이름, default_port, latest_version, 유형 , 언어 )
가치 ( '마리아DB' , 3306 , '10.5' , '관계' , 'SQL' ) ;
INSERT INTO 데이터베이스 ( 이름, default_port, latest_version, 유형 , 언어 )
가치 ( 'SQLite' , 없는, '3.34' , '관계' , '씨' ) ;
INSERT INTO 데이터베이스 ( 이름, default_port, latest_version, 유형 , 언어 )
가치 ( 'neo4j' , 7474 , '4.1' , '비관계형' , '자바' ) ;

참고: SQLite에는 기본 포트 번호가 없으므로 SQLite 데이터베이스의 default_port는 NULL로 설정됩니다.

결과 테이블:

오라클 업데이트 테이블

Microsoft SQL Server의 latest_version, 이름 및 기본 포트를 업데이트하려고 한다고 가정합니다. 다음과 같이 업데이트 쿼리를 실행할 수 있습니다.

데이터베이스 업데이트
세트 이름 = 'MS SQL 서버' ,
default_port = 1400 ,
최신 버전 = '2022'
어디 이름 같은 '마이크로소프트 SQL 서버' ;

쿼리는 이름이 LIKE 'Microsoft SQL Server'인 행을 찾고 이름, default_port 및 latest_version을 새 값으로 변경해야 합니다.

참고: 이전 데이터는 데모용입니다. 데이터베이스에 대한 최신 정보를 정확하게 반영하지 않을 수 있습니다.

업데이트되면 다음과 같이 데이터 변경 사항에 대한 새 테이블을 볼 수 있습니다.

보시다시피 표에는 업데이트된 변경 사항이 반영되어 있습니다.

결론

이 자습서에서는 데이터베이스 테이블의 단일 또는 여러 열을 업데이트할 수 있는 UPDATE 문을 발견했습니다.

그러나 대부분의 데이터베이스 관행과 마찬가지로 잠재적인 단점이 있습니다. 예를 들어:

  1. 성능 – 여러 열에 대한 업데이트를 수행하는 것은 단일 열을 업데이트하는 것보다 더 많은 시간과 리소스를 소모합니다. 이것은 특히 많은 수의 행에 복잡한 데이터를 곱할 때 더욱 중요해집니다.
  2. 데이터 무결성 – 여러 열을 업데이트할 때 또 다른 문제는 데이터 무결성입니다. 잘못 사용하면 여러 열을 업데이트하면 데이터가 손상되거나 손실될 수 있습니다. 이를 완화하기 위해 다양한 데이터 정규화 기술에 뛰어들 수 있지만 항상 염두에 두는 것이 좋습니다. 업데이트 쿼리를 프로덕션으로 가져오기 전에 개발 단계에서 테스트할 수도 있습니다.
  3. 쿼리 복잡성 – 마찬가지로 업데이트 문을 실행하면 쿼리의 복잡성이 증가하여 읽기, 유지 관리 또는 디버그하기가 더 어려워질 수 있습니다.

결국 Oracle 데이터베이스에서 여러 열을 업데이트하는 것은 일부 상황에서 유용할 수 있습니다. 그래도 위험을 최소화하기 위해 모범 사례를 사용하는 것을 고려하는 것이 중요합니다.