Develop+

SQL(Structed Query Language) 본문

DATABASE/SQL

SQL(Structed Query Language)

Sunny Buddy 2020. 11. 16. 12:50
728x90
  • 구조화된 질의 언어(Structed Query Language)

  • 물어보면(질의하고) 답(처리한 결과를 반환) 해주는 형식

  • 표준 대화식 프로그래밍 언어이다

  • DBMS에 따라 사용되는 SQL 문법이 다르다

 


기본문법(Oracle 기준)

메타문자

한줄 주석 : --

범위 주석 : /* */

문자열 지정 : ''

 

연산자

살술 연산자 : +, -, *, /

비교연산자 : =,>,<,>=,<=,<>

문자열비교 : like, not line

논리 연산자 : and, or, not

범위 연산자 : between A and B, Not between A and B

값 출력 연산자: in, not in

Null 검색 : is null, is not null


SQL 명령어

데이터 정의어 (DDL, Data Definition Language)

Definition = 정의

  • 구조를 정의하거나 변경, 삭제하기 위해 사용하는 명령어들

  • 주로 DB관리자 또는 설계자가 사용

  • 이름을 정해주고, 표를 그리고 하는 작업 등등

  • CREATE(객체 생성), ALTER(개체 수정), DROP(개체 삭제), TRUNCATE(개체 초기화)

  • database(오라클에서는 만들어져있음)/tablespace도 DDL에서 생성

 

데이터 조작어(DML, Data Manipulation Language)

Manipulation = 조작

  • data를 조작하기 위해 사용하는 언어

  • data의 삽입, 수정, 삭제, 조회 등의 동작 제어

  • 프로그램들과 연동해서 가장 많이 사용됨

  • 가장 많이 사용됨 (공격 시에도 가장 많이 사용 - 보안에 신경을 많이 써야함)

  • INSERT(데이터 생성), UPDATE(데이터 수정), DELETE(데이터 삭제), SELECT(데이터 조회)-> SELECT는 DQL로 따로 구분을 하기도 함

     

데이터 제어어(DCL, Data Control Language)

Control = 제어

  • 데이터의 제어가 아닌 권한의 제어

  • DB에 대한 보안, 무결성, 복구등 DBMS를 제어하기 위한 언어

  • GRANT(권한할당), REVOKE(권한해제), COMMIT(실행), ROLLBACK(복구) -> COMMIT, ROLLBACK은 DT(Transaction)L이라고 불리기도 한다

728x90