본문 바로가기
컴퓨터 활용/노년에 즐기는 코딩

테이블 구조 변경 명령문

by easyfly 2025. 10. 21.
반응형

테이블 구조 변경 명령문

테이블 필드에서 휴대폰번호 컬럼에 중복을 허용하지 않으려면 아래와 같이 구조를 변경할 수 있습니다.

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)을 보장하게 됩니다.

반응형

댓글