SQL은 Structured Query Language은 데이터베이스에서 데이터를 정의,조작,제어하기 위해 사용하는 언어이다.
SQL의 구문은 목적에 맞게 크게 세가지로 구분 할 수 있다.
DDL - 데이터를 생성, 삭제, 구조를 변경 명령어
CREATE,ALTER,DROP
DML - 저장된 데이터를 처리, 조회, 검색 명령어
INSERT,UPDATE,DELETE,SELECT
DCL - 데이터의 보안성, 무결성 등을 제어하기 위한 명령어
GRANT,REVOKE
CREATE
새로운 데이터베이스 생성
->create
->database
->데이터베이스 이름;
새로운 데이터베이스로 이동(선택)
USE 데이터베이스이름;
테이블 생성
CREATE TABLE 테이블 이름
(
필드이름1 필드타입1
필드이름2 필드타입2, ...
)
Create 문에서 제약 조건의 종류
1. NOT NULL - 빈칸이 아니어야함
2. UNIQUE - 서로 다른 값이어야 함.
3. PRIMARY KEY - 해당필드가 NOT NULL & UNIQUE (빈칸이 아니고,유일의 값이어야함)
4. FOREIGN KEY - 하나의 테이블을 다른 테이블에 의존.
5. DEFAULT - 해당 필드의 기본 값을 설정
데이터의 필드 타입
숫자형
TINYINT[(M)]
1 byte의 용량
INT [(M)]
4 byte의 용량
문자형
CHAR(M)
1~255 고정형 남는 공간은 공백으로 채움
VARCHAR(M)
1~255 가변 + 1byte
>TEXT
~65535 문자데이터 저장
CREATE
- AUTO CREATEMENT
해당 필드의 값을 1부터 시작하여 새로운 레코드가 추가 될 때 마다 1씩 증가된 값을 저장할 수 있다.
ALTER 변경
- ADD 추가
-> ALTER
-> 테이블 이름
-> ADD
-> 필드 이름
-> 필드 타입
- DROP 삭제
-> ALTER
-> TABLE
-> 테이블 이름
-> DROP
-> 필드이름
- MODIFY COLUMN 필드를 수정
-> ALTER
-> TABLE
-> 테이블 이름
-> MODIFY COULUMN
-> 필드이름
-> 필드타입
DROP 테이블 자체를 삭제.
데이터베이스나 테이블을 삭제 할 수 있다.
-> DROP
-> DATABASE
-> 데이터베이스 이름
-> DROP
-> TABLE
-> 테이블 이름
INSERT
테이블에 새로운 값을 추가
-> INSERT INTO
-> 테이블이름
-> VALUES (
-> 데이터 값1,
-> 데이터값 2,..
-> )
전체필드에 넣을 데이터값이 순서대로 자동대입
-> INSERT INTO
-> 테이블이름(
-> 필드이름1,
-> 필드이름2,
-> ) VALUES(
-> 데이터값1,
->데이터값2)
해당필드에 넣을 데이터 값
UPDATE
UPTATE 문은 테이블의 내용을 수정
-> UPDATE
-> 테이블이름
-> SET
-> 필드이름1 = 데이터값1,
-> 필드이름2 = 데이터값2
->WHERE
->필드이름 = 데이터값 (조건식)
해당필드에 넣을 데이터 값으로 수정
DELETE
DELETE문은 테이블의 데이터 값을 삭제
where 조건에 맞는 테이블의 값만 삭제.
-> DELETE
-> 테이블이름
-> WHERE (조건식)
-> 필드이름
SELECT
SELECT문은 테이블의 데이터를 선택
- 테이블에서 해당하는 조건의 필드를 선택하고 싶을때
->SELECT
-> 필드이름
-> from
-> 테이블 이름
-> WHERE
-> (조건식)
- 전체 필드를 확인 해보고 싶을 때
-> SELECT
-> *
-> from
-> 테이블 이름
- 해당하는 컬럼에 데이터가 있다면 보여줘
WHERE {column} IN {Value_list}
- 그 값이 포함되어 있지 않은 데이터만 보여줘
WHERE {column} NOT IN {Value_list}