[SQL] SQL DML 기초(1)
카테고리: SQL
태그: SQL
🚀 1. 개요
(DML: Data Manipulation Language) 기본 문법에 대해 알아본다.
SELECT- 데이터베이스에서 데이터 추출UPDATE- 데이터베이스의 데이터 업데이트DELETE- 데이터베이스에서 데이터를 삭제INSERT INTO- 새로운 데이터를 데이터베이스에 삽입
2. SQL Syntax
- SQL 키워드는 대소문자를 구분하지 않습니다. (e.g SELECT=select)
- 일부 데이터베이스 시스템에서는 각 SQL 문의 끝에 세미콜론(;)이 필요합니다.
- 세미콜론은 동일한 서버에 대한 호출에서 둘 이상의 SQL 문을 구분하는 표준 방법입니다.
- SQL은 텍스트 값을 작은따옴표로 묶어야 합니다.(대부분의 데이터베이스 시스템에서는 큰따옴표도 허용합니다.)
- 그러나 숫자 필드는 따옴표로 묶어서는 안 됩니다.
NULL은 값이 없는 필드입니다.- 테이블의 필드가 선택 사항인 경우 이 필드에 값을 추가하지 않고 새 레코드를 삽입하거나 업데이트하는 경우 필드가 NULL 값으로 저장됩니다.
NULL 값은 0 값이나 공백이 필드와 다릅니다. NULL 값이 있는 필드는 레코드 생성 중에 비어 있는 필드입니다.
NULL 값을 테스트하는 방법은 =, <, <> 와 같은 비교 연산자를 사용하지 않고
IS NULL또는IS NOT NULL연산자를 사용해야 합니다.
🔎 3. SELECT
SELECT문은 데이터베이스에서 데이터를 읽는데 사용됩니다.- 반환된 데이터는 결과 집합이라는 결과 테이블에 저장됩니다.
SELECT DISTINCT문은 중복 값을 제거하고 서로 다른 값만 반환하는 데 사용됩니다.WHERE절은 레코드를 필터링하는 데 사용됩니다. 지정된 조건을 충족하는 레코드만 추출합니다.WHERE절은 SELECT 뿐만 아니라 UPDATE, DELETE 문에도 사용됩니다.- ‘WHERE’절은
ANDORNOT연산자와 결합할 수 있습니다. (복잡한 식을 형성하려면 괄호 사용) ORDER BY키워드는 결과 집합을 오름차순 또는 내림차순으로 정렬하는 데 사용됩니다. (기본적으로 오름차순으로 정렬되며, 내림차순으로 정렬하려면DESC키워드를 사용합니다.)
WHERE 절의 연산자

-- 기본 SQL
SELECT column1, column2, ... -- column1, column2 ...는 테이블의 필드 이름이며, *는 모든 필드를 의미합니다.
FROM table_name;
-- DISTINCT
SELECT DISTINCT column1, column2, ...
FROM table_name;
-- WHERE
SELECT column1, column2, ...
FROM table_name
WHERE condition;
-- BETWEEN
SELECT column1, column2, ...
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
-- LIKE
SELECT column1, column2, ...
FROM table_name
WHERE column_name LIKE 'pattern';
-- LIKE 키워드와 함께 사용할 수 있는 기호
- % : 0개 이상의 문자
- _ : 1개의 문자
-- LIKE 키워드의 사용 예
- LIKE '데이터%' : 데이터로 시작하는 문자열 (데이터로 시작하기만 하면 길이는 상관 없음)
- LIKE '%데이터' : 데이터로 끝나는 문자열 (데이터로 끝나기만 하면 길이는 상관 없음)
- LIKE '%데이터%' : 데이터가 포함된 문자열
- LIKE '데이터___' : 테이터로 시작하는 6자 길이의 문자열
- LIKE '__한%' : 세 번째 글자가 '한'인 문자열
-- IN
SELECT column1, column2, ...
FROM table_name
WHERE column_name IN ('value1', 'value2');
-- AND
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
-- OR
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
-- NOT
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;
-- ODDER BY
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
📝 4. INSERT INTO
-
INSERT INTO문은 테이블에 새 레코드를 삽입하는 데 사용됩니다. -
INSERT INTO는 두 가지 방법으로 작성할 수 있습니다.- 삽입할 열 이름과 값을 모두 지정합니다.
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);- 테이블의 모든 열에 대한 값을 추가하는 경우 열 이름을 지정하지 않고 테이블의 열 순서에 맞게 삽입합니다.
INSERT INTO table_name VALUES (value1, value2, value3, ...);
🪄 5. UPDATE
-
UPDATE문은 테이블의 기존 레코드를 수정하는 데 사용됩니다. -
레코드를 업데이트할 때
WHERE절을 생략하면 모든 레코드가 업데이트됩니다.UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
❌ 6. DELETE
-
DELETE문은 테이블의 기존 레코드를 삭제하는 데 사용됩니다. -
테이블에서 레코드를 삭제할 때
WHERE절을 생략하면 테이블의 모든 레코드가 삭제됩니다.DELETE FROM table_name WHERE condition;
📌 출처
W3schools-SQL 튜토리얼-SQL HOME ~ SQL DELETE
👍 개인 공부 기록용 블로그입니다. 오류나 조언이 있으시면 언제든지 댓글 혹은 메일로 남겨주시면 감사하겠습니다! 😄
댓글남기기