1. SELECT
- 기본형태
SELECT 필드명 FROM 테이블명 WHERE 조건식;
- 필드를 여러개 선택할 수 있다.
SELECT 필드명1, 필드명2... FROM 테이블명 WHERE 조건식;
SELECT * FROM 테이블명 WHERE 조건식
- AS를 사용하여 별명을 사용할 수 있다.
SELECT 필드명 AS 별명 FROM 테이블명;
2. WHERE
- 조건식을 사용한다.
- 수식 : =, <>, >, <, >=, <=
... WHERE sex = 'male';
... WHERE age > 20 and sex = 'female';
... WHERE flag <> 0 or color = 'blue';
- LIKE : '%'(전체), '_'(한글자) 같은 와일드문자를 사용할 수 있다.
... WHERE address LIKE '서울시%'
- IS : null 문자를 선택할때 사용한다.
... WHERE name <> "" ;
... WHERE name IS null;
... WHERE name IS NOT null;
3. JOIN
- 테이블을 여러개 선택할 때 사용한다.
... FROM first, second;
... FROM first JOIN second;
a LEFT JOIN b ON a.name = b.name;
-> a의 name과 b의 name이 같은 것을 가져온다. 즉, 데이터를 한번만 가져온다.
a LEFT JOIN b ON a.id = b.id WHERE b.id IS NULL;
-> b에 존재하지 않는 id의 값을 가져온다.
a LEFT JOIN b USING (id);
-> 양쪽테이블에 존재하는 id라는 컬럼을 사용한다.
-> a LEFT JOIN b ON a.id = b.id; 과 동일하다.
※ CROSS JOIN : 같은 필드에 같은 데이터일경우 하나의 필드로 통합
LEFT JOIN : 왼쪽식에 맞춰서 조인, RIGHT JOIN :오른쪽식에 맞춰서 조인
4. INSERT
- 값을 삽입한다.
INSERT INTO 테이블명(컬럼명) VALUE(값);
-> INSERT INTO data(status) VALUE('wait');
= INSERT INTO data SET status = 'wait';
-> INSERT INTO data(first, secound) VALUE(10, 20);
5. REPLACE
- 인덱스컬럼과 같은 행이 입력될경우 값을 대체한다.
REPLACE INTO 테이블명(컬럼명) VALUE(값);
REPLACE INTO 테이블명 SET 컬럼명 = 값;
5. UPDATE
- 값을 수정한다
UPDATE 테이블명 SET 컬럼명1=값, 컬럼명2=값 WHERE 조건식;
6. LIMIT
SELECT * FROM grade LIMIT 100, 10;
-> 100번째부터 10개만 가져온다.
6. 한글 쿼리가 제대로 전송되지 않을때 실행해본다.
set names euckr;
set character set euckr;
==> 자세한 내용은 여기 참조 : http://dev.mysql.com/doc/refman/6.0/en/index.html
- 기본형태
SELECT 필드명 FROM 테이블명 WHERE 조건식;
- 필드를 여러개 선택할 수 있다.
SELECT 필드명1, 필드명2... FROM 테이블명 WHERE 조건식;
SELECT * FROM 테이블명 WHERE 조건식
- AS를 사용하여 별명을 사용할 수 있다.
SELECT 필드명 AS 별명 FROM 테이블명;
2. WHERE
- 조건식을 사용한다.
- 수식 : =, <>, >, <, >=, <=
... WHERE sex = 'male';
... WHERE age > 20 and sex = 'female';
... WHERE flag <> 0 or color = 'blue';
- LIKE : '%'(전체), '_'(한글자) 같은 와일드문자를 사용할 수 있다.
... WHERE address LIKE '서울시%'
- IS : null 문자를 선택할때 사용한다.
... WHERE name <> "" ;
... WHERE name IS null;
... WHERE name IS NOT null;
3. JOIN
- 테이블을 여러개 선택할 때 사용한다.
... FROM first, second;
... FROM first JOIN second;
a LEFT JOIN b ON a.name = b.name;
-> a의 name과 b의 name이 같은 것을 가져온다. 즉, 데이터를 한번만 가져온다.
a LEFT JOIN b ON a.id = b.id WHERE b.id IS NULL;
-> b에 존재하지 않는 id의 값을 가져온다.
a LEFT JOIN b USING (id);
-> 양쪽테이블에 존재하는 id라는 컬럼을 사용한다.
-> a LEFT JOIN b ON a.id = b.id; 과 동일하다.
※ CROSS JOIN : 같은 필드에 같은 데이터일경우 하나의 필드로 통합
LEFT JOIN : 왼쪽식에 맞춰서 조인, RIGHT JOIN :오른쪽식에 맞춰서 조인
4. INSERT
- 값을 삽입한다.
INSERT INTO 테이블명(컬럼명) VALUE(값);
-> INSERT INTO data(status) VALUE('wait');
= INSERT INTO data SET status = 'wait';
-> INSERT INTO data(first, secound) VALUE(10, 20);
5. REPLACE
- 인덱스컬럼과 같은 행이 입력될경우 값을 대체한다.
REPLACE INTO 테이블명(컬럼명) VALUE(값);
REPLACE INTO 테이블명 SET 컬럼명 = 값;
5. UPDATE
- 값을 수정한다
UPDATE 테이블명 SET 컬럼명1=값, 컬럼명2=값 WHERE 조건식;
6. LIMIT
SELECT * FROM grade LIMIT 100, 10;
-> 100번째부터 10개만 가져온다.
6. 한글 쿼리가 제대로 전송되지 않을때 실행해본다.
set names euckr;
set character set euckr;
==> 자세한 내용은 여기 참조 : http://dev.mysql.com/doc/refman/6.0/en/index.html