
DDL은 테이블 구조를 관리 (CREATE, ALTER, DROP) 하는 데이터 정의 언어이다.
SQL 데이터 정의 언어를 사용하여 테이블 데이터베이스 개체를 만드는 방법에 대해 알아보자!
데이터베이스에 새 테이블 만들기
    CREATE TABLE table_name (
        column_1 data_type constraints,
    		column_2 data_type constraints,
    		column_3 data_type constraints,
    );    CREATE TABLE contacts (
        name TEXT NOT NULL,
        age INTEGER NOT NULL,
        email TEXT NOT NULL UNIQUE
    );실행하고자 하는 명령문에 커서를 두고 마우스 우측 버튼
→ Run Selected Query 선택  
명령문을 모두 선택할 필요 없으며, 실행하고자 하는 명령문 안에 커서가 올라가 있으면 가능하다.

쿼리 실행 후 테이블 및 스키마 확인하기

입력하는 자료에 대해 제약을 정하고, 제약에 맞지 않다면 입력을 거부할 수 있다.
사용자가 원하는 조건의 데이터만 유지하기 위해 즉, 데이터의 무결성을 유지하기 위해 테이블의 특정 컬럼에 제약을 설정하는 방법에 대해 알아보자 !
CREATE TABLE table_name (
    id INTEGER PRIMARY KEY
);CREATE TABLE table_name (
	id INTEGER PRIMARY KEY AUTOINCREMENT,
);-- 1. Rename a table
ALTER TABLE table_name RENAME TO new_table_name;
-- 2. Rename a column
ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;
-- 3. Add a new column to a table
ALTER TABLE table_name ADD COLUMN column_definition;
-- 4. Delete a column
ALTER TABLE table_name DROP COLUMN column_name;테이블 명 변경하기
    ALTER TABLE contacts RENAME TO new_contacts;
컬럼명 변경하기
ALTER TABLE new_contacts RENAME COLUMN name TO last_name;
새 컬럼 추가하기
ALTER TABLE new_contacts ADD COLUMN address TEXT NOT NULL;
 Cannot add NOT NULL column with default value NULL
DEFAULT 제약 조건을 사용하여 해결할 수 있다.    ALTER TABLE new_contacts
    ADD COLUMN address TEXT NOT NULL DEFAULT 'no address';no address가 된다.컬럼 삭제하기
sqlite를 터미널에서 직접 켜서 타이핑 해야 작동된다.    ALTER TABLE new_contacts DROP COLUMN address; 
데이터베이스에서 테이블 제거하기
DROP TABLE new_contacts;
no such table: table_name-- contacts 테이블 생성하기
CREATE TABLE contacts (
    name TEXT NOT NULL,
    age INTEGER NOT NULL,
    email TEXT NOT NULL UNIQUE
);
-- 테이블 이름 변경하기
ALTER TABLE contacts RENAME TO new_contacts;
-- 컬럼 이름 변경하기
ALTER TABLE new_contacts RENAME COLUMN name TO last_name;
-- 새 컬럼 추가하기
ALTER TABLE new_contacts ADD COLUMN address TEXT NOT NULL;
-- 새 컬럼 추가시 기존데이터 있을 경우 발생하는 오류 방지하기
ALTER TABLE new_contacts 
ADD COLUMN address TEXT NOT NULL DEFAULT 'no address';
-- 컬럼 삭제하기
ALTER TABLE new_contacts DROP COLUMN address;
-- 테이블 삭제하기
-- 제거하면 되돌릴 수 없으므로 조심하자!
DROP TABLE contacts;