728x90
SQL
구조화 질의어라고 한다. 데이터 정의어(DDL)와 데이터 조작어(DML)를 포함한 데이터베이스용 질의언어(query language)의 일종이다. 특정한 데이터베이스 시스템에 한정되지 않아 널리 사용된다. 초기에는 IBM의 관계형 데이터베이스인 시스템에서만 사용되었으나 지금은 다른 데이터베이스에서도 널리 사용한다.
SQL은 단순한 질의 기능뿐만 아니라 완전한 데이터 정의 기능과 조작 기능을 갖추고 있다. 또 온라인 단말기를 통해 대화식으로 사용할 수도 있고 코볼이나 PL/I, C 등의 호스트 언어로 된 프로그램에 삽입되어서 사용되기도 한다. SQL은 장치 독립적이고 액세스 경로에 대해서는 어떠한 참조도 하지 않으며, 개개의 레코드보다는 레코드의 집합인 테이블을 단위로 연산을 수행한다.
DDL(Data Definition Language)
데이터베이스 구조, 데이터 형식, 접근 방식 등 데이터베이스를 구축하거나 변경할 목적으로 사용하는 언어다. 데이터베이스의 논리적, 물리적 구조를 정의 및 변경한다. 또한 스키마에 사용되는 제약 조건을 정의하며 데이터의 물리적 순서를 규정한다.
- CREATE - 데이터베이스, 테이블, 뷰, 인덱스, 저장 프로시저 생성
- DROP - 데이터베이스, 테이블, 뷰, 인덱스, 저장 프로시저 제거
- ALTER - 데이터베이스, 테이블, 뷰, 인덱스, 저장 프로시저 변경
- TRUNCATE - 데이터베이스 초기화
DML(Data Manipulation Language)
데이터를 처리하기 위해서 응용프로그램과 데이터베이스 관리시스템 간의 인터페이스를 위한 언어이다. 데이터 처리를 위한 연산의 집합으로 데이터의 검색, 삽입, 삭제, 갱신 연산 등이 있다.
- SELECT - 검색 (질의)
- INSERT - 삽입 (등록)
- UPDATE - 업데이트 (수정)
- DELETE - 삭제
DCL(Data Control Language)
보안 및 권한 제어, 무결성, 회복, 병행 제어를 위한 언어이며, 권한이 없는 접근으로부터 데이터베이스를 보호한다.
- GRANT - 특정 데이터베이스 사용자에게 특정 작업을 수행 권한을 부여
- REVOKE - 특정 데이터베이스 이용자에게 부여한 특정 권한을 박탈
권한
- CONNECT- 데이터베이스 또는 스키마에 연결하는 권한
- SELECT - 데이터베이스에서 데이터를 검색하는 권한
- INSERT - 데이터베이스에 데이터를 등록할 수 있는 권한
- UPDATE - 데이터베이스의 데이터를 업데이트 할 수 있는 권한
- DELETE - 데이터베이스의 데이터를 삭제할 수 있는 권한
- USAGE - 스키마 또는 함수와 같은 데이터베이스 개체를 사용할 수 있는 권한