데이터베이스에서는 모든 작업을 SQL문을 이용해 작업한다.
SQL문은 다루는 객체나 용도에 따라 그룹핑하여 나눌 수 있다. 종류로는 DDL, DML, DCL이 있다.
DDL(Data Definition Language) - 데이터 정의어
데이터베이스를 정의하는 언어를 말하며 데이터를 생성하거나 수정, 삭제 등 데이터의 전체 골격을 결정하는 역할의 언어를 말한다.
CREATE
TRUNCATE
CREATE(생성)
CREATE DATABASE 데이터베이스이름
DROP(삭제)
DROP DATABASE 데이터베이스이름
CREATE TABLE 테이블명 (
컬럼1이름 datatype,
컬럼2이름 datatype,
컬럼3이름 datatype,
...등
)
예시)
CREATE TABLE new_table(
id INT,
이름 VARCHAR(100),
나이 INT
)
마지막 줄에는 콤마(,) 넣으면 안된다.
❗️주의
연락처 컬럼을 지정할때
CREATE TABLE new_table(
id INT,
이름 VARCHAR(100),
나이 INT,
연락처 INT
)
연락처를 INT 데이터타입으로 지정할 경우 컬럼에 01012341234 저장하면 1012341234만 남는다. 그렇기 때문에 VARCHAR(10)으로 변경해줘야 한다.
DEFAULT
CREATE TABLE new_table2 (
id INT,
이름 VARCHAR(100) DEFAULT '홍길동',
나이 INT
)
DROP TABLE 테이블명
생성
ALTER TABLE 테이블명 ADD 컬럼명 VARCHAR(100);
변경
ALTER TABLE 테이블명 MODIFY COLUMN 컬럼명 datatype;
❗️이미 컬럼에 '가나다' 이런 문자가 있는 경우엔 INT 타입으로 변경이 불가능하다.
이런식으로 컬럼을 한 번 만들어 놓으면 변경이 불가능할 때가 많아서 변경이 필요하면 새로 테이블 만들어서 데이터를 옮기는 식으로 하거나 그런 경우들이 있다.
제거
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
참고
- 데이터타입을 지정할 때 생각했던 것 보다 더 큰 문자나 숫자가 들어올 수 있으므로 글자 수 제한은 넉넉하게 잡는게 좋다.
- DBeaver같은 GUI 툴이 있기 때문에 DDL은 안외워도 전혀 상관없다.