Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

SQL의 ALTER와 UPDATE 명령어, 무엇이 다를까? 핵심 차이점 완벽 정리

SQL을 다루다 보면 ALTER 명령과 UPDATE 명령을 혼동하기 쉽습니다. 두 명령 모두 데이터베이스를 '변경'한다는 점에서 비슷해 보이지만, 실제로는 작동 방식과 목적이 완전히 다릅니다. 이 글에서는 두 명령의 차이점을 명확하게 살펴보겠습니다.

ALTER 명령이란?

  • DDL(Data Definition Language, 데이터 정의어)에 속하는 명령입니다.

  • 데이터 수준이 아닌 구조(스키마) 수준에서 작업을 수행합니다.

  • 데이터베이스 내 테이블의 속성(컬럼)을 추가, 삭제, 수정할 때 사용됩니다.

  • 기본적으로 새로 추가되는 컬럼의 값들은 NULL로 초기화됩니다.

  • 즉, 테이블 자체의 구조를 변경하는 역할을 합니다.

컬럼 추가 문법

ALTER TABLE table_name ADD column_name datatype;

컬럼 삭제 문법

ALTER TABLE table_name DROP COLUMN column_name;

UPDATE 명령이란?

  • DML(Data Manipulation Language, 데이터 조작어)에 속하는 명령입니다.

  • 데이터 수준에서 작업을 수행합니다.

  • 데이터베이스에 이미 존재하는 레코드(행)를 갱신합니다.

  • UPDATE 명령을 사용해 튜플의 특정 컬럼에 원하는 값을 설정합니다.

  • 즉, 테이블 구조는 그대로 유지한 채 테이블 내부의 데이터만 변경합니다.

UPDATE 문법

UPDATE table_name
SET column1 = value1, column2 = value2....columnN=valueN
[ WHERE CONDITION ];

팁: WHERE 조건을 생략하면 테이블의 모든 행이 일괄 수정되므로, 실무에서는 반드시 WHERE 절을 함께 사용하는 것이 안전합니다.

ALTER vs UPDATE 핵심 차이점 비교

구분ALTERUPDATE
명령 분류DDL (데이터 정의어)DML (데이터 조작어)
작업 대상테이블의 구조(스키마)테이블 내부의 데이터(레코드)
주요 용도컬럼 추가 · 삭제 · 수정기존 레코드의 값 변경
ROLLBACK 여부일반적으로 롤백 불가 (자동 커밋)트랜잭션 내에서 롤백 가능

마무리

정리하면, ALTER는 테이블의 '구조'를 바꾸는 명령이고, UPDATE는 테이블에 저장된 '데이터'를 바꾸는 명령입니다. 두 명령의 역할을 정확히 구분하면 데이터베이스 설계와 운영 과정에서 실수를 크게 줄일 수 있습니다.