1. SQL 문법
1.1 SELECT
- 테이블(table_name)에서
원하는 특성(column1, column2)의 데이터를 모두 가져온다.
SELECT column1, column2
FROM table_name;
1.2 SELECT DISTINCT
- 테이블(table_name)에서
원하는 특성(column1, column2)의 데이터 중 개별 값 한개씩 가져온다.
SELECT DISTINCT column1, column2
FROM table_name;
1.3 WHERE
* 특정값과 동일한 데이터 찾기
SELECT *
FROM table_name
WHERE column1 = value1;
SELECT *
FROM table_name
WHERE column1 = value1 AND column2 = value2;
SELECT *
FROM table_name
WHERE column1 = value1 OR column2 = value2;
* 특정값을 제외한 데이터 찾기
SELECT *
FROM table_name
WHERE column1 <> value1;
SELECT *
FROM table_name
WHERE column1 != value1;
SELECT *
FROM table_name
WHERE NOT column1 = value1;
* 대소를 판별하여 데이터 찾기
SELECT *
FROM table_name
WHERE column1 > value1;
SELECT *
FROM table_name
WHERE column1 <= value1;
* 특정 문자열을 포함하는 데이터 찾기
SELECT *
FROM table_name
WHERE column1 (NOT) LIKE "%문자열%" ; // 문자열을 포함하는 (하지 않는)
WHERE column1 (NOT) LIKE "문자열%" ; // 문자열로 시작하는 (않는)
WHERE column1 (NOT) LIKE "%문자열"; // 문자열로 끝나는 (않는)
* 특정 값을 포함하는 데이터 찾기
SELECT *
FROM table_name
WHERE column1 IN (value1, value2);
SELECT *
FROM table_name
WHERE column1 NOT IN (value1, value2);
* 값이 비어있는 데이터 찾기
SELECT *
FROM table_name
WHERE column1 IS NULL;
* 값이 비어있지 않는 데이터 찾기
SELECT *
FROM table_name
WHERE column1 IS NOT NULL;
* 범위 내의 데이터 찾기
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
1.4 ORDER BY
* column1의 값을 기준으로 오름차순 정렬
SELECT *
FROM table_name
ORDER BY column1;
* column1의 값을 기준으로 내림차순 정렬
SELECT *
FROM table_name
ORDER BY column1 DESC;
* 여러 값을 기준으로 정렬
SELECT *
FROM table_name
ORDER BY column1, column2; // 1차 : column1, 2차 : column2
1.5 INSERT INTO
* 새로운 데이터 행 추가
INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3);
* 새로운 데이터 행 추가
INSERT INTO table_name
VALUES (value1, value2, value3);
* 새로운 데이터 행(일부 값만) 추가, 비어있는 값은 NULL로 채워짐
INSERT INTO table_name (column1, column3)
VALUES (value1, value3);
1.6 UPDATE
* 기존 데이터 의 값 변경
UPDATE table_name
SET column2 = value2, column3 = value3, ...
WHERE column1 = value1;
1.7 DELETE
* 데이터 의 삭제
DELETE FROM table_name
WHERE condition;
* 테이블 전체 삭제
DELETE FROM table_name;
1.8 MIN, MAX, AVG, SUM, COUNT
* 함수처럼 수행하여 데이터 필터링
SELECT MIN(column_name)
FROM table_name
WHERE condition;
1.9 Wildcards
* (%) // 모든 문자(0~ 무한개) 를 표시
? (_) // 한 문자를 표시
[] // [] 내에 있는 개별 문자를 모두 표시
! (^) // 부정의 의미
- // a-c 처럼 abc
# // 숫자 하나를 의미
( ) 내는 SQL 서버에서의 의미
1.10 INNER JOINS // LEFT JOINS // RIGHT JOINS
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
1.11 GROUP BY
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;
2. SQL DATABASE 문법
2.1 CREATE
// testDB 라는 이름의 DATABASE 생성
CREATE DATABASE testDB;
// testDB 라는 이름의 TABLE 생성
CREATE TABLE testDB (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
2.2 DROP
// testDB 라는 이름의 DATABASE 삭제
DROP DATABASE testDB;
// testDB 라는 이름의 TABLE 삭제
DROP TABLE testDB;
2.3 TRUNCATE
// Persons 라는 테이블 내의 모든 데이터 삭제
TRUNCATE TABE Persons;
2.4 ALTER
// Persons 라는 테이블 내에 Birthday 라는 특성 추가
// 타입은 DATE
ALTER TABLE Persons
ADD Birthday Date
// Persons 라는 테이블 내에 Birthday 라는 특성 제거
ALTER TABLE Persons
DROP COLUMN Birthday