ALTER (SQL)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

ALTER (SQL)은 SQL 데이터베이스에서 개체의 구조를 변경하는 데 사용되는 SQL 구문이다. ALTER 문을 사용하여 테이블에 열을 추가하거나 삭제할 수 있으며, 테이블 또는 데이터베이스의 이름을 변경할 수도 있다. 구문은 `ALTER 개체형식 개체명 [매개변수]`와 같다. 데이터베이스 제품에 따라 데이터베이스 이름 변경 방법이 다르며, MySQL의 경우 5.1.7 버전에서 `RENAME DATABASE` 구문이 추가되었지만, 5.1.23 버전에서 다시 제거되었다.

ALTER (SQL)
📚 더 읽어볼만한 페이지
  • SQL 키워드 - TRUNCATE (SQL)
    TRUNCATE는 SQL에서 테이블 내의 모든 데이터를 빠르게 삭제하는 명령어로, 외래 키 제약 조건 무시, 테이블 잠금 방식, 트랜잭션 처리 방식 등 DELETE 명령어와 차이를 보이며, WHERE 절을 사용할 수 없어 테이블의 모든 행을 삭제하고, 일부 데이터베이스 시스템에서는 롤백이 불가능할 수 있다.
  • SQL 키워드 - Null (SQL)
    Null은 SQL에서 데이터베이스 테이블 열의 값 부재를 나타내는 특별한 표식으로, 0이나 빈 문자열과 구별되며 삼진 논리와 관련된 특별한 처리 방식으로 인해 데이터베이스 설계 및 쿼리 작성 시 주의가 필요하고 SQL 표준 구현에 대한 논쟁이 존재한다.

2. 구문

ALTER 개체형식 개체명 [매개변수]

3. 예제

ALTER TABLE영어 문은 데이터베이스, 테이블, 컬럼 등을 수정하는 데 사용될 수 있다. 구체적인 예시는 하위 섹션을 참고하면 된다.

3.1. 컬럼

"Employee"라는 테이블에 "Birthday"라는 열을 추가하고 삭제하는 예시는 다음과 같다.


ALTER TABLE Employee ADD Birthday DATE;
ALTER TABLE Employee DROP COLUMN Birthday;

3.2. 테이블

오라클MySQL 등에서 테이블명을 변경할 때 다음과 같이 한다.

```sql
ALTER TABLE Old_Table_Name RENAME TO New_Table_Name;

3.3. 데이터베이스

데이터베이스 이름 변경은 각 데이터베이스 제품마다 차이가 있다.

3.3.1. Microsoft SQL Server

ALTER DATABASE Old_DB MODIFY NAME=New_DB
sp_renamedb 'Old_DB','New_DB'

3.3.2. MySQL

MySQL에서는 5.1.7 버전에서 `RENAME DATABASE` 구문이 추가되었으나, 위험성 문제로 5.1.23 버전에서 제거되었다. 셸에서 다음과 같은 방법으로 데이터베이스 이름을 변경할 수 있다.

```sql
create database new_database;
rename table old_database.table to new_database.table;