Computer >> 컴퓨터 >  >> 프로그램 작성 >> SQL

SQL ALTER TABLE:가이드

SQL ALTER TABLE 문은 테이블의 열을 추가, 변경 또는 제거합니다. 이 문을 사용하면 테이블이 레코드를 저장하더라도 테이블이 생성된 후 수정할 수 있습니다.

SQL 테이블을 변경해야 한다고 결정할 수 있습니다. 예를 들어 열 이름을 바꾸거나 테이블에 새 열을 추가할 수 있습니다. 이러한 변경은 모두 SQL ALTER TABLE 명령으로 가능합니다.

SQL 변경 테이블

ALTER TABLE 명령을 사용하면 다음과 같이 기존 테이블을 변경할 수 있습니다.

  • 열 추가.
  • 제약조건 추가.
  • 열 제거.
  • 데이터 유형 변경.
  • 열 이름 바꾸기.

이 자습서에서는 예제를 참조하여 SQL ALTER TABLE 명령을 사용하여 테이블을 변경하는 방법에 대해 설명합니다.

테이블 설정

이 자습서에서는 비즈니스용 데이터베이스 테이블을 수정합니다. 이 데이터베이스는 비즈니스에서 일하는 각 직원에 대한 정보를 저장합니다. 우리 테이블은 "직원 " 및 다음 값을 포함합니다.

테이블을 만든 후 구조를 변경하고 싶다는 것을 깨달았습니다. SQL ALTER TABLE 명령을 사용하여 그렇게 할 수 있습니다.

테이블을 만드는 방법을 배우려면 SQL CREATE TABLE 가이드를 확인하십시오.

SQL ALTER TABLE:테이블에 열 추가

ALTER TABLE 명령을 사용하여 SQL 테이블에 열을 추가할 수 있습니다. 기존 테이블에 새 열을 추가하는 구문은 다음과 같습니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

ALTER TABLE table_name ADD column_name data_type constraints;

모든 직원의 전화 번호를 저장하는 "직원" 테이블에 새 열을 추가한다고 가정합니다. 이 열은 "phone_number"라고 해야 합니다. 열은 VARCHAR()을 사용해야 합니다. 데이터 유형(최대 길이로 문자열을 저장할 수 있음)과 제약이 없습니다.

다음 문을 사용하여 이 열을 만들 수 있습니다.

ALTER TABLE employees ADD phone_number VARCHAR(60);

이 명령은 "직원" 데이터베이스의 테이블에 새 열을 추가합니다. 이제 데이터베이스 구조를 보면 "phone_number"라는 새 열이 하나 있습니다.

필드 유형 기본값
이름 varchar(60) NULL
제목 varchar(60) NULL
부서 varchar(60) NULL
직원 번호 varchar(60) NULL
전화번호 varchar(60)

SQL에서 데이터베이스에 열을 추가하는 방법에 대해 자세히 알아보려면 SQL 열 추가 가이드를 확인하세요.

SQL ALTER TABLE:테이블에 제약 조건 추가

마지막 섹션에서 우리는 테이블에 phone_number라는 새로운 열을 추가했습니다. 그러나 테이블에 제약 조건을 추가하는 것을 잊었습니다.

이 예에서 이는 데이터베이스가 여러 직원에 대해 동일한 전화번호를 잠재적으로 저장할 수 있음을 의미하므로 실용적이지 않습니다.

이 문제를 해결하기 위해 테이블의 "phone_number" 열에 UNIQUE 제약 조건을 추가할 수 있습니다. SQL에서 열에 제약 조건을 추가하는 구문은 다음과 같습니다.

ALTER TABLE table_name ADD UNIQUE (column_name);

이 명령은 "phone_number" 열에 제약 조건을 추가합니다.

ALTER TABLE employees ADD UNIQUE (phone_number);

다른 제약 조건을 추가하려면 "UNIQUE"를 다른 SQL 제약 조건으로 바꾸면 됩니다.

SQL ALTER TABLE:테이블에서 열 제거

ALTER TABLE 명령을 사용하여 테이블에서 열을 제거할 수도 있습니다. 이 작업을 수행하는 구문은 다음과 같습니다.

ALTER TABLE table_name DROP COLUMN column_name;

테이블에서 "department" 열을 제거하려고 한다고 가정합니다. 나중에 직원의 부서를 다른 테이블에 연결하는 새 열을 만들려고 합니다. 다음 명령을 사용하여 이 열을 제거할 수 있습니다.

ALTER TABLE employees DROP COLUMN department;

이 명령을 실행하면 테이블의 "department" 열이 삭제됩니다. 따라서 이제 테이블의 구조가 다음과 같이 나타납니다.

필드 유형 기본값
이름 varchar(60) NULL
제목 varchar(60) NULL
직원 번호 varchar(60) NULL
전화번호 varchar(60)

SQL ALTER TABLE:열의 데이터 유형 변경

ALTER TABLE 명령을 사용하여 열의 데이터 유형을 변경할 수 있습니다. 열의 데이터 유형을 변경하는 구문은 다음과 같습니다.

ALTER TABLE table_name ALTER COLUMN column_name new_data_type;

이 명령에는 MySQL 및 Oracle(10G 이전)과 Oracle 10G 이상에 대한 두 가지 대체 버전이 있습니다.

ALTER TABLE table_name MODIFY COLUMN column_name new_data_type; (MySQL, Oracle pre-10G)
ALTER TABLE table_name MODIFY column_name new_data_type; (Oracle 10G+ and later)

초기 "employees" 테이블을 생성할 때 "employee_number" 필드를 VARCHAR()으로 지정하는 실수를 범했습니다. 숫자 대신. 이 실수를 수정하기 위해 다음 명령을 사용할 수 있습니다.

ALTER TABLE employees ALTER COLUMN employee_number INT;

이 명령은 "employee_number" 열의 유형을 INT로 변경합니다. 따라서 데이터베이스의 새 구조는 다음과 같습니다.

필드 유형 기본값
이름 varchar(60) NULL
제목 varchar(60) NULL
직원 번호 varchar(60) NULL
전화번호 int

SQL ALTER TABLE:테이블 이름 바꾸기

ALTER TABLE 명령을 사용하면 SQL 테이블의 이름을 바꿀 수도 있습니다. 테이블 이름을 바꾸는 구문은 다음과 같습니다.

ALTER TABLE current_table RENAME new_table;

테이블 "employees"의 이름을 "old_employees_2019"로 변경한다고 가정합니다. 다음 명령을 사용하여 수행할 수 있습니다.

ALTER TABLE employees RENAME old_employees_2019;

MySQL에서는 ALTER TABLE 명령을 사용하여 테이블 이름을 변경할 수 없습니다. MySQL에서는 ALTER TABLE 대신 RENAME table 명령어를 사용할 수 있습니다.

MySQL에서 테이블 이름을 바꾸려면 다음 명령을 사용합니다.

RENAME TABLE employees TO old_employees_2019;

결론

SQL ALTER TABLE 명령을 사용하면 SQL에서 테이블의 구조를 변경할 수 있습니다. 데이터베이스에 테이블을 추가하거나 제거하거나 데이터베이스의 테이블을 변경할 수 있습니다. 또한 UNIQUE 또는 NOT NULL과 같이 테이블과 관련된 제약 조건을 수정할 수 있습니다.

SQL에 대해 더 알고 싶으십니까? SQL 학습 방법 가이드를 읽어보세요. SQL을 배우는 방법에 대한 최고의 팁을 찾을 수 있습니다. 또한 지식을 쌓는 데 도움이 되도록 전문가가 선별한 학습 리소스 목록도 찾을 수 있습니다.