기본 SQL 구문
SELECT
SELECT a.column_name1
,a.column_name2
,a.column_name3
,a.column_name4
,a.column_name5
,a.column_name6
FROM table_name a
WHERE a.column_name = ????
ORDER BY a.column_name1
,a.column_name2;
LIMIT
쿼리 결과의 갯수를 제한한다.
SELECT column_name
,COUNT(column_name) AS cnt
FROM table_name a
GROUP BY column_name
ORDER BY COUNT(column_name) DESC
LIMIT 2; -- COUNT(COLUMN_NAME)가 많은 데이터를 가져오되 2개까지만 가져온다
SELECT column_name
,column_name2
FROM table_name a
ORDER BY column_name
LIMIT 0,5; -- 0번째부터 5개 데이터를 가져온다.
INSERT
Single Row 입력
INSERT INTO table_name
(column_name1, column_name2, …)
VALUES
(변수 또는 값, 변수 또는 값, …);
Multi Row 입력
INSERT INTO table_name
(column_name1, column_name2, …)
VALUES
(변수 또는 값, 변수 또는 값, …)
, (변수 또는 값, 변수 또는 값, …)
, (변수 또는 값, 변수 또는 값, …);
INSERT ON DUPLICATE KEY UPDATE
테이블에 데이터를 입력할 때 중복되는 키(Primary Key와 모든 Unique Key)가 있으면 중복된 레코드의 컬럼값을 UPDATE 하고, 중복된 레코드가 없으면 INSERT 한다.
오라클 DB에서 제공하는 MERGE 기능과 유사하다.
제약사항: INSERT 또는 UPDATE에 대한 트리거가 활성화된 테이블에 대해서는 사용할 수 없다.
중첩된 INSERT 문에서도 사용할 수 없다.
INSERT INTO table_name1
(column_name1, column_name2, column_name3, …)
SELECT column_name1
,column_name2
,column_name3
,…
FROM table_name2
ON DUPLICATE KEY
UPDATE column_name2 = 새로운값
,column_name3 = 새로운값;
UPDATE
UPDATE table_name
SET column_name1 = 변수 또는 값 또는 select구문
,column_name2 = 변수 또는 값 또는 select구문
WHERE column_name = 조건;
DELETE
DELETE FROM table_name
WHERE column_name = 조건;