본문 바로가기
IT/SQL

[MySQL] ALTER TABLE (ADD, DROP, RENAME,MODIFY)

by marketinkerbell 2022. 2. 3.
반응형

 

 

컬럼추가 하기 (ALTER TABLE , ADD)

 

student 테이블에 칼럼을 하나 추가해 보자

 

 

테이블에 `컬럼` 추가하려면

 

ALTER TABLE  테이블이름 ADD 컬럼이름 데이터타입 속성

ALTER TABLE student ADD gender CHAR(1) NULL;

DESC student; #student 테이블 정보 보기

 

 

결과 화면 >

 

gender 컬럼 추가됨

 

 

 

 

컬럼명 바꾸기 (ALTER TABLE , RENAME COLUMN TO)

 

컬럼명을 바꿔보자 student_number -> registration_number

 

ALTER TABLE  테이블이름

     RENAME COLUMN 기존 컬럼명 TO 새로운 컬럼명;

ALTER TABLE student 
    RENAME COLUMN student_number TO registration_number;
    
SELECT * FROM student;

 

 

 

 

 

 

 

 

 

 

컬럼 삭제하기 (ALTER TABLE , DROP COLUMN)

 

 

아래 student 테이블에서 admission_date 라는 컬럼을 없애보자

 

 

 

 

ALTER TABLE student DROP COLUMN admission_date;


DESC student;

 

 

 

결과 화면>

 

admission_date 컬럼이 없어졌다.

 

 

 

 

컬럼 데이터타입, 컬럼 속성 변경하기 (ALTER TABLE , MODIFY)

 

ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입

ALTER TABLE student MODIFY major INT;


DESC student;

 

major 컬럼 데이터타입은 varchar(15) 였는데 위 쿼리문으로 INT로 바꿔줌

 

 

결과 화면>

 

 

그런데 major 컬럼 데이터 타입이 varchar(15) 였을 때 

문자열 값들이 들어 있었다면, 위 쿼리문은 실행시 에러가 난다.  

그렇기 때문에 원래 값들을 정수로 바꿔준 다음에 MODIFY 를 실행 시켜야 된다. 

 

 

 

major 컬럼에 있는 값들 수정하는 방법은 (UPDATE, SET, WHERE) 

참고 : https://devfairy.tistory.com/102

UPDATE student SET major = 10 WHERE major = '컴퓨터공학과';

 

 

 

컬럼의 DEFAULT 값(기본값) 을 지정해줄 때도 MODIFY 사용.

major 컬럼에 기본값으로 101 을 지정해 줌

ALTER TABLE student MODIFY major INT NOT NULL DEFAULT 101;

 

아래와 같이 디폴트 속성 셋팅됨 >

 

 

 

 

 

 

 

< 총정리 >

#name 컬럼의 이름을 model로 수정
ALTER TABLE shoes RENAME COLUMN name TO model;  

#size 컬럼의 데이터 타입을 INT에서 DOUBLE로 수정
ALTER TABLE shoes MODIFY size DOUBLE NOT NULL;

#brand 컬럼을 삭제 
ALTER TABLE shoes DROP COLUMN brand;

#stock 컬럼(데이터 타입이 INT이고, NOT NULL 속성을 가진 컬럼) 추가
ALTER TABLE shoes ADD stock INT NOT NULL;

 

 

 

댓글