프로그래밍/Database

[Database] MySQL 테이블 변경

미냐님 2020. 4. 7. 00:11
728x90

 

MySQL 테이블 변경

ALTER TABLE를 사용하여 변경

  • 변경 내용
    • 새로운 속성 추가
    • 기존 속성 삭제
    • 기존 속성 수정
    • 새로운 제약조건 추가
    • 기존 제약조건 삭제

ALTER TABLE 기본 형식

새로운 속성 추가 ( ADD )

속성 삭제 ( DROP )

속성 변경 ( CHANGE / MODIFY )

  • (1) 속성 수정 (CHANGE)
    • 속성의 이름과 데이터 타입을 수정함
    • 명령어 : ALTER TABLE 테이블명 CHANGE 이전필드명 새로운필드명 데이터타입;
  • (2) 속성의 데이터타입 수정 (MODIFY)
    • 속성의 데이터타입만 수정함
    • 명령어 : ALTER TABLE 테이블명 MODIFY 필드명 새로운데이터타입;

제약 조건의 추가 및 삭제 ( ADD / DROP )

  • (1) 기존의 제약 조건 확인하기
    • CREATE TABLE을 사용하여 테이블 생성시 적용된 모든 속성, 제약조건 확인
    • CREATE TABLE의 SQL에서 선언되지 않은 제약조건이름을 확인할 수 있음
    • 명령어 : SHOW CREATE TABLE 테이블이름
    • 외래키 제약조건 : MySQL 내부에서 사용된 제약조건이름 확인
      • 제약조건을 삭제하기 위하여 확인한 제약조건이름을 사용하여야 함

  • (2) 기존의 외래키 제약 조건 삭제하기
    • “SHOW CREATE TABLE 테이블명” 질의로 확인한 제약조건이름을 사용하여 삭제
    • 명령어 : ALTER TABLE 테이블명 DROP FOREIGN KEY 제약조건이름

  • (3) 새로운 외래키 제약 조건 추가
    • 새로운 외래키 제약 조건을 테이블에 추가하기 위하여 사용
    • 명령어 : ALTER TABLE 테이블명 ADD 외래키제약조건

E. 테이블 관련 기타 질의

  • (1) 데이터베이스내의 모든 테이블 상태 확인하기
    • 명령어 : SHOW TABLE STATUS FROM 데이터베이스명
    • 확인 가능 정보
      • 레코드 수
      • 평균 레코드 길이
      • 전체 데이터 길이
      • AUTO_INCREMENT 값
      • 생성 날짜
      • 사용언어
728x90