
- Data Definition Language는 Table을 생성, 변경, 삭제하는 SQL이다.
Table은 데이터베이스 내에 데이터가 저장되는 형태로 행(Row) 과 열(Column)으로 구성된 데이터 집합이다.
Table 구조

// 테이블 생성
CREATE TABLE table_name(
colunm1 data_type,
colunm2 data_type,
...
);
// 현재 데이터베이스 내에 모든 테이블의 목록 확인
SHOW TABLES;
// Table 정보 확인
DESC table_name;
테이블을 변경/수정하는 명령어이다.
테이블 이름 변경
ALTER TABLE tbl_name RENAME new_tbl_name;
ALTER TABLE tbl_name ADD COLUMN col_name datatype;
ALTER TABLE tbl_name MODIFY COLUMN col_name datatype;
// 컬럼명과 자료형을 같이 바꿀 수 있다.
ALTER TABLE tbl_name CHANGE COLUMN old_col_name new_col_name datatype;
ALTER TABLE table_name DROP COLUMN column_name;
DROP TABLE table_name;
테이블의 튜플들을 생성하고, 삭제, 편집, 조회하는 SQL이다.
CREATE DATABASE zerobase DEFAULT CHARACTER SET utf8mb4
-> 기본 문자 자료형으로 utf8과 이모지를 사용할 수 있는 mb4를 설정해 준다.
USE zerobase;
CREATE TABLE person(
id int,
name varchar(16),
age int,
sex char
);
DESC person;

INTO와 짝을 이루어 사용된다. INSERT INTO table_name (col1, col2, ...) VALUES (val1, val2, ...);
☣ 주의! 입력한 컬럼 이름의 순서와 데이터 값의 순서가 일치해야 한다.
INSERT INTO person (id, name, age, sex) VALUES (1, '이효리', 43, 'F');
INSERT INTO person VALUES (2, '이상순', 48, 'M');
테이블의 데이터를 조회하는 명령어로 항상 FROM과 짝을 이루어 쓰인다.
*은 Table 내 전체 컬럼 데이터를 조회한다.
SELECT column1, column2, ... FROM table_name;
SELECT * FROM table_name; --> 모든 컬럼 조회
테이블의 데이터를 수정하는 명령어로 항상 SET과 짝을 이루어 쓰인다.
WHERE은 수정할 데이터를 구체적으로 지정하는 조건을 추가해 준다.
조건을 달지 않으면 해당 컬럼의 모든 데이터 값이 바뀐다.
UPDATE table_name SET column1=value1, column2=value2, ...
WHERE condition;
테이블의 데이터를 삭제하는 명령어로 항상 FROM과 짝을 이루어 쓰인다.
WHERE은 삭제할 데이터의 조건을 추가해 준다.
DELETE FROM table_name WHERE condition;
DELETE FROM table_name;
// Table을 삭제하고 싶다면,
DROP TABLE table_name;