✅ SQL 설명

▶ SQL 이란?

  • Structured Query Language(구조적 질의 언어)
  • 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위한 데이터 처리 언어

▶ SQL 언어 종류

  • DDL(Data Definition Language): 데이터 정의어
    • 데이터베이스 객체의 구조를 정의하는 언어
    • 예: CREATE, ALTER, DROP, RENAME, TRUNCATE...
  • DML(Data Manipulation Language): 데이터 조작어
    • 데이터베이스 테이블 레코드의 CRUD를 통해 내부 데이터를 관리하기 위한 언어
    • 예: SELECT, INSERT, UPDATE, DELETE...
  • DCL(Data Control Language): 데이터 제어어
    • 데이터 관리를 목적으로 데이터베이스 및 구조에 대한 접근 권한을 제어하는 언어
    • 예: GRANT, REVOKE...
  • TCL(Transaction Control Language): 트랜잭션 제어어
    • 트랜잭션을 제어하는 언어
    • 예: COMMIT, ROLLBACK, SAVEPOINT...

▶ SQL 특징

  • 대소문자를 구분하지 않는다.
  • SQL 명령문 끝에는 세미콜론(;)을 붙여야 한다.
  • 문자열을 나타낼 때는 따옴표(')로 감싸야 한다.
  • 체 이름이나 열(필드)명을 백틱(`)으로 감싸야 한다.
  • 줄 주석은 '--'을 사용, 여러 줄 주석은 '/* */'을 사용한다.
  • SQL 명령문은 관계형 데이터베이스 관리 시스템(RDBMS, ex: PostgreSQL, MySQL)의 종류에 따라 일부 차이가 있을 수 있다.

 

 

✅ SQL 문법

1️⃣ DDL(Data Definition Language): 데이터 정의어

▶ CREATE

  • CREATE DATABASE: 새로운 데이터베이스 생성
CREATE DATABASE 데이터베이스이름;
  • CREATE TABLE: 새로운 테이블 생성
CREATE TABLE 테이블이름
(
    필드이름1 필드타입1,
    필드이름2 필드타입2,
    ...
);

▶ ALTER

  • ALTER TABLE: 기존 테이블 수정
  • ADD: 테이블의 열(필드) 추가
ALTER TABLE 테이블이름 ADD COLUMN 새열이름 새열타입;
  • DROP: 테이블의 열(필드) 삭제
ALTER TABLE 테이블이름 DROP COLUMN 열이름;
  • MODIFY COLUMN: 테이블의 열(필드) 타입 변경
ALTER TABLE 테이블이름 MODIFY COLUMN 열이름 새열타입;

▶ DROP

  • DROP DATABASE: 데이터베이스 삭제
DROP DATABASE 데이터베이스이름;
  • DROP TABLE: 테이블 삭제
DROP TABLE 테이블이름;
  • TRUNCATE TABLE: 테이블의 데이터만 삭제
 TRUNCATE TABLE 테이블이름;

 

2️⃣ DML(Data Manipulation Language): 데이터 조작어

▶ SELECT

  • SELECT: 행(레코드) 조회
    • SELECT, FROM을 제외한 나머지는 생략 가능
SELECT 열이름1, 열이름2, ...
FROM 테이블이름
JOIN 다른테이블이름 ON 조인조건
WHERE 조건식
GROUP BY 열이름
HAVING 조건식
ORDER BY 열이름
LIMIT 숫자;
  • 아래처럼 별칭(alias)을 통해 작성 가능
SELECT 열이름 AS 별칭 FROM 테이블이름;
SELECT 열이름 FROM 테이블이름 AS 별칭;

▶ INSERT

  • INSERT INTO: 새로운 행(레코드) 삽입
INSERT INTO 테이블이름 (열이름1, 열이름2, ...)
VALUES (값1, 값2, ...);
  • 아래 조건을 만족하면 아래처럼 열(필드) 이름 생략 가능 (데이터베이스 스키마와 같은 순서로 열(필드) 값이 자동 대입됨)
    1. NULL을 저장할 수 있도록 설정된 열(필드)
    2. DEFAULT 제약 조건이 설정된 열(필드)
    3. AUTO_INCREMENT 키워드가 설정된 열(필드)
 INSERT INTO 테이블이름 VALUES (값1, 값2, 값3, ...);

▶ UPDATE

  • UPDATE: 기존 행(레코드) 수정
UPDATE 테이블이름
SET 열이름1 =1, 열이름2 =2, ...
WHERE 조건식;

▶ DELETE

  • DELETE FROM: 기존 행(레코드) 삭제
DELETE FROM 테이블이름
WHERE 조건식;

 

 

📍 참고

soeun2537