CREATE DATABASE [테이블명];
DROP TABLE [테이블명];
ALTER TABLE [테이블명]; -- ADD, MODIFY, CHANGE, DROP을 사용하여 컬럼 수정 가능
SELECT *
FROM [테이블명]
WHERE [조건문]
ORDER BY id DESC(ASC);
UPDATE [테이블명]
SET ([컬럼명] = [값], [컬럼명] = [값], ...)
WHERE [조건문];
INSERT INTO [테이블명](컬럼명, 컬럼명, ...)
VALUES ([값], [값], ...)
DELETE FROM [테이블명]
WHERE [조건문];
-- WHERE 사용하기
-- 부등호 (=, <=, >=, <, >, !=)
WHERE id > 20;
-- 사이값
WHERE id BETWEEN 10 AND 20;
-- 부정
WHERE NOT id = 20;
-- 문자열 패턴(%: 아무 문자열, _: 아무 문자 하나)
WHERE id LIKE '%@%.%_';
-- 포함
WHERE id IN (1, 2, 3);
-- 여러 조건
WHERE id < 10 OR id IN (20, 30, 40) ANS id LIKE '1%';
NULL 논리연산 주의!
| NOT | TRUE | FALSE | NULL |
|---|---|---|---|
| FALSE | TRUE | NULL |
| AND | TRUE | FALSE | NULL |
|---|---|---|---|
| TRUE | TRUE | FALSE | NULL |
| FALSE | FALSE | FALSE | FALSE |
| NULL | NULL | FALSE | NULL |
| OR | TRUE | FALSE | NULL |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| FALSE | TRUE | FALSE | NULL |
| NULL | TRUE | NULL | NULL |
GRANT [권한종류] ON [대상] TO [계정명] IDENTIFIED BY [암호];
COMMIT;
ROLLBACK;
-- UNION : 합집합 (중복은 한 번만)
-- UNION ALL : 합집합 (중복 포함)
SELECT *
FROM [테이블명]
UNION (ALL)
SELECT *
FROM [테이블명]
-- INTERSECT : 교집합
SELECT *
FROM [테이블명]
INTERSECT
SELECT *
FROM [테이블명]
-- MINUS : 차집합 > MySQL 지원 안함. LEFT OUTER JOIN, NOT IN, NOT EXISTS으로 해결
SELECT *
FROM [테이블명]
MINUS (LEFT OUTER JOIN)
SELECT *
FROM [테이블명]
SELECT *
FROM [테이블명]
WHERE NOT IN (NOT EXISTS) (SELECT *
FROM [테이블명]
);
단일행 함수
다중행 함수
sum, avgm count, max, min
GROUP BY와 함께 사용하고 GROUPING 후에는 HAVING을 이용하여 조건을 걸 수 있다
[참조]