02. SQL

2022. 10. 13. 15:33·Database/Database 개념

SQL

  • DDL
  • DML
  • DCL

 


 

SQL
Structured Query Language: 구조화된 질의 언어
DDL
(Data Definition Language)
데이터 정의 언어
DML
(Data Manipulation Language)
데이터 조작 언어
DCL
(Data Control Language)
데이터 제어 언어

 

  • DDL
Data Definition Language: 데이터 정의 언어

 

CREATE 데이터베이스, 테이블, 뷰(view), 프로시저 등을 생성
ALTER 데이터베이스, 테이블, 뷰(view), 프로시저 등을 수정
DROP 데이터베이스, 테이블, 뷰(view), 프로시저 등을 삭제
** - VIew: 다른 테이블/뷰에 있는 데이터를 보여주기 위해 사용 (수정불가)
** - Procedure: 특정 작업에 필요한 Query들을 함수처럼 사용

CREATE DATABASE 데이터베이스; -- 데이터베이스 생성 --

CREATE TABLE 테이블(		-- 테이블 생성 --
컬럼 DATA_TYPE(SIZE),
...,
CONSTRAINT 제약조건 제약조건 (컬럼)
);

CREATE VIEW 뷰 AS SELECT ~;  -- 뷰 생성 --

** auto_increment : 숫자 자동 증가 옵션 (sequence)

------------------------------------------------

ALTER TABLE 테이블 ADD | DROP | MODIFY 컬럼 DATA_TYPE

ADD -- 컬럼 추가

DROP -- 컬럼 삭제

MODIFY  -- 컬럼 수정

------------------------------------------------

DROP DATABASE 데이터베이스 -- 데이터베이스 삭제

DROP TABLE 테이블 -- 테이블 삭제

** 테이블 삭제 시, 해당 데이터베이스 안에 있는 모든 데이터(테이블, 뷰, ...)도 삭제됨

 

DML
Data Manipulation Language: 데이터 조작 언어
SELECT 데이터 읽기
INSERT 데이터 삽입
UPDATE 데이터 수정
DELETE 데이터 삭제

 

SELECT 컬럼 FROM 테이블; -- 테이블에서 컬럼 조회

SELECT 컬럼 FROM 테이블 WHERE 조건; -- 테이블에서 조건에 맞는 컬럼 조회

** 
컬럼의 값 연산 (산술 비교): >, >=, <, <=, =, !=(<>), BETWEEN, IN, NOT IN, ANY, ...
조건의 연결: AND, OR


-- 테이블에서 컬럼의 값으로 정렬 후 컬럼 조회(ASC: 오름차순 / DESC: 내림차순)
SELECT 컬럼 FROM 테이블 ORDER BY 컬럼;

-- 테이블에서 컬럼의 값으로 그룹화 시킨 후 컬럼 조회
SELECT 컬럼 FROM 테이블 GROUP BY 컬럼;

-- 그룹화 후 집계함수에 조건을 줄 땐 WHERE 대신 HAVING 사용
SELECT 컬럼 FROM 테이블 WHERE|HAVING 조건 GROUP BY 컬럼;

------------------------------------------------------

INSERT INTO 테이블 VALUES(모든 컬럼의 값); -- 테이블의 모든 컬럼에 값 삽입

INSERT INTO 테이블(컬럼, ...) VALUES(명시된 컬럼의 값); -- 테이블의 특정 컬럼에 값 삽입

-----------------------------------------

UPDATE 테이블 SET 컬럼 = 값, 컬럼= 값, ...; -- 해당 컬럼의 모든 값 수정

UPDATE 테이블 SET 컬럼 = 값, 컬럼 = 값, ... WHERE 조건; -- 조건에 맞는 컬럼의 값 수정

-----------------------------------------

DELETE FROM 테이블; -- 테이블의 모든 값 삭제

DELETE FROM 테이블 WHERE 조건; -- 조건에 맞는 값 삭제

 

DCL
Data Control Language: 데이터 제어 언어
COMMIT 데이터, 트랜잭션 저장
ROLL BACK 데이터, 트랜잭션 저장 취소 (가장 마지막 COMMIT으로 되돌아감)
GRANT DB 권한 부여
REVOKE DB 권한 삭제
** TCL(Transaction Control Language) : COMMIT, ROLLBACK
저작자표시 (새창열림)

'Database > Database 개념' 카테고리의 다른 글

24. JDBC(Java DataBase Connectivity)  (0) 2022.10.25
01. Database  (0) 2022.10.13
'Database/Database 개념' 카테고리의 다른 글
  • 24. JDBC(Java DataBase Connectivity)
  • 01. Database
ljheayeee
ljheayeee
https://github.com/ljheayeee
  • ljheayeee
    ljheayeee
    ljheayeee
  • 전체
    오늘
    어제
    • 분류 전체보기 (61)
      • 항해 학습 일지 (1)
      • programming (0)
      • 알고리즘 공부 (0)
      • 개발자 면접 질문 정리 (1)
      • 막 저장하는 모르는 부분들 (7)
        • Algorithm (1)
        • terminal (3)
        • Visual Studio Code (0)
        • Git 에러 (0)
        • Eclipse (0)
        • Git (0)
        • 맥북 (1)
      • CS (10)
      • Java (35)
        • Java 개념 (24)
        • java 에러 (0)
        • java 메소드 (10)
        • JSP (1)
      • Spring (1)
        • 개념정리 (0)
      • HTML (1)
        • HTML (1)
      • 1일 1영어 (1)
      • Database (3)
        • Database 개념 (3)
      • 나만 알고 싶은 인터넷 강의들 (1)
      • 개발자가 되기 위한 것들 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    개발자이력서
    ±#~#맥북#mac
    취업리부트코스
    코딩테스트
    항해99
    개발자취준
    개발자포트폴리오
    개발자취업
    취리코
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
ljheayeee
02. SQL
상단으로

티스토리툴바