컴퓨터 활용/노년에 즐기는 코딩
테이블 구조 변경 명령문
easyfly
2025. 10. 21. 07:41
반응형
테이블 구조 변경 명령문
테이블 필드에서 휴대폰번호 컬럼에 중복을 허용하지 않으려면 아래와 같이 구조를 변경할 수 있습니다.
ALTER TABLE 학생2
ADD CONSTRAINT unique_phone UNIQUE (휴대폰번호);
는 기존 테이블 구조를 변경하여, 휴대폰번호 컬럼에 ‘중복되지 않음(UNIQUE)’ 제약 조건을 추가하는 명령문입니다.

🔍 1. ALTER TABLE 학생2
ALTER TABLE은 기존 테이블 구조를 수정할 때 사용하는 SQL 명령입니다.
즉, 새로운 컬럼을 추가하거나, 제약조건을 걸거나, 자료형을 변경할 때 사용합니다.
이 경우 대상 테이블은 학생2입니다.
🔍 2. ADD CONSTRAINT unique_phone
ADD CONSTRAINT는 새로운 제약 조건(constraint) 을 추가하겠다는 뜻입니다.
여기서 unique_phone은 제약 조건의 이름입니다.
(임의로 지정 가능하며, 나중에 삭제나 확인할 때 이 이름을 사용합니다.)
🔍 3. UNIQUE (휴대폰번호)
UNIQUE는 컬럼 값의 중복을 허용하지 않게 하는 제약 조건입니다.
즉, 휴대폰번호 컬럼에 동일한 값이 두 번 이상 들어가면 오류가 발생합니다.
예를 들어:
| 이름 | 휴대폰번호 |
| 홍길동 | 010-1111-1111 |
| 박태환 | 010-2222-2222 |
| 이은진 | 010-1111-1111 ❌ (오류 발생) |
✅ 실행 결과
이 명령이 성공하면,
- 학생2 테이블은 휴대폰번호 중복 입력을 거부합니다.
- 새 학생을 INSERT하거나 UPDATE할 때 같은 번호가 있으면 오류 메시지가 나타납니다.
⚙️ 제약 조건 확인
추가된 제약 조건을 확인하려면:
SHOW CREATE TABLE 학생2;

또는
SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE
FROM information_schema.TABLE_CONSTRAINTS
WHERE TABLE_NAME='학생2';

🔓 제약 조건 제거 (필요할 때)
ALTER TABLE 학생2
DROP INDEX unique_phone;
요약하자면
👉 ALTER TABLE 학생2 : 테이블 구조 수정
👉 ADD CONSTRAINT unique_phone : 이름이 unique_phone인 제약 조건 추가
👉 UNIQUE (휴대폰번호) : 휴대폰번호는 중복 불가
이 명령으로 데이터의 무결성(Integrity)을 보장하게 됩니다.
반응형