테이블 조작

Hyun-jin Won·2021년 10월 31일
0

MySQL로 SQL 시작하기

목록 보기
23/24

테이블을 조작해보자

CREATE TABLE <TABLE> (COLUMN명 정의, COLUMN명 정의...);
DROP TABLE <TABLE>;
ALTER TABLE <TABLE> <orders>;

이전에 배웠던 데이터 조작언어와 달리, 테이블을 조작하는 언어를 DDL 이라고 한다.
DDL로는 CREATE, DROP, ALTER가 존재하며, 이를 이용하여 테이블을 생성, 삭제, 수정한다.

공통

USE 스키마명;

TABLE을 조작하려면 스키마 안에서 조작해야 하며, 처음에는 해당 스키마를 사용하겠다면 명령을 입력해야한다.
해당 스키마에 접근하면 권한이 있다는 전제하에, 다른 스키마에 접근하기 전까지 해당 스키마의 테이블을 조작하게 된다.

CREATE

CREATE TABLE pet 
(
    name VARCHAR(20), 
    owner VARCHAR(20) DEFAULT "John Doe",
    species VARCHAR(20), 
    sex CHAR(1), NOT NULL,
    birth DATE, 
    death DATE
);

테이블을 생성할 때에는 테이블의 명칭과 함께 1.원하는 컬럼명 2.해당 컬럼명의 데이터 타입을 적게 된다.
해당 2개는 필수적으로 입력해야 하며, 데이터의 크기를 따로 입력하지 않는 경우 DBMS의 DEFAULT 크기가 입력된다.
또한 추가적으로 조건 추가가 가능한데, 값 입력이 없을 때 3.DEFAULT 값, 4.NULL 허용여부를 입력할 수 있다.

DROP

DROP TABLE pet;

테이블을 삭제하는 방법은 DROP 명령어를 사용하면 된다.
단 테이블를 삭제 시 백업이 없다면 복구할 수 없으며, GUI를 사용하지 않는 이상 알림없이 바로 삭제함으로, 신중히 선택해야한다.

ALTER

ALTER TABLE tbl_name
    [alter_option [, alter_option] ...]
    [partition_options]

ALTER 조건은 상당히 다양하다.
컬럼의 추가, 삭제, 제약조건의 변경, 열의 순서변경까지 가능하다.

ALTER TABLE tbl_name
    MODIFY <column> <조건들>

해당 명령어는 column의 자료형, default value, nullable 을 변경할 수 있다.
단순히 CREATE에서 했던 방식대로 사용하면 된다.

ALTER TABLE tbl_name
    MODIFY <column1명> <조건들> after <column2명>

해당 명령어는 조금 응용하여 column1을 column2의 뒤로 컬럼 순서를 변경하게 하는 방식이다.

ALTER TABLE tbl_name
    ADD COLUMN명 조건들

해당 명령어는 테이블에 컬럼을 추가하는 명령어이며, 해당 컬럼은 테이블의 맨 뒤에 위치되게 된다.
단 ADD의 명령어는 COLUMN의 추가도 가능하지만, 차후에 배울 FK 등의 테이블에 대한 조건추가도 가능하다.

profile
삽질을 주체하지 못하는 잉간

0개의 댓글