SQL에서는 DDL과 DML을 사용하여 생성되고 관리된다.
****
DDL (Data Definition Language) : 데이터베이스 구조를 정의하고 관리
CREATE : 테이블/뷰/인덱스 생성ALTER : 테이블/뷰/인덱스 구조 변경DROP : 테이블/뷰/인덱스 삭제
언어정리!
테이블 - 실제로 컬럼이 저장되어있는 곳
뷰 - 가상의 테이블을 쿼리하여 보여주는 것.
인덱스 - 데이터베이스에서 원하는 데이터를 빠르게 만들기 위한 색인.
CREATE
- 구문 :
- CREATE TABLE “만들고자하는 테이블 명” ’만들고자 하는 컬럼 명’ 컬럼타입 NULL값 여부
- 보통은 아래처럼 테이블을 만듦
- -CREATE 테이블 생성 예시
CREATE TABLE IF NOT EXISTS ‘products’ -- 프로덕트라는 테이블이 없다면, 테이블 생성. 중복생성 방지
(’product_id’ int unsigned NOT NULL -- 컬럼명 : 프로덕트 아이디. 컬럼타입 : 정수( unsigned = 음수 금지), Null값 여부 : x
‘name’ varchar(50) NOT NULL
PRIMARY KEY (’product_id’))
DEFAULT CHARSET = utf8;
- 컬럼 타입
- int unsigned
- 정수, 음수금지
- int unsigned 을 해줌으로써 음수를 반환할 수 있는 공간을 없애 더 효율적으로 사용 가능.
- char(), varchar()
- 컬럼 타입을 문자열로 할때 사용
- char()
- char(6) 으로 했을 때 6글자까지 사용 가능.
- 2글자를 적든 1글자를 적든 6bytes의 공간을 확보함.
- 고정된 문자열을 가진 경우 사용하면 유리 (예) 상품코드
- varchar
- varchar(6) 으로 했을때 6글자까지 사용 가능.
- 2글자를 적으면 3bytes, 3글자를 적으면 4bytes. 즉 글자수+1의 공간을 확보함.
- 고정 되지 않은 문자열을 가진 경우 사용하면 유리 (예) 상품설명
- Char, Varchar 출력 예시표.

- PRIMARY KEY
- 테이블내에 모든 행에 적용되는 고유 값.
- 주민등록번호느낌.
- DEFAULT CHARSET
ALTER
컬럼을 추가,삭제, 타입변경, 이름변경 등을 할 수 있.
예제1)프로덕트 테이블에서 가격 컬럼을 삭제하겠다.
ALTER TABLE products DROP column price;
예제2) 프로덕트 테이블에서 가격 컬럼(컬럼값 INT, NULL값 허용)을 추가하겠다.
ALTER TABLE products ADD price int NULL;
DML (Data Manipulation Language) : 데이터를 쿼리하거나 조작
SELECT : 질의INSERT : 삽입UPDATE : 수정DELETE : 삭제
1. DROP과는 다르게 테이블 전체를 삭제하는 것이 아닌 테이블내의 특정 값을 삭제.