CS/database

SQL 언어

superbono 2021. 3. 11. 16:58

* SQL?

SQL (Structured Query Lanuage)

 - 데이터베이스에 있는 정보를 사용할 수 있도록 지원하는 언어

 - 대소문자는 구별하지 않지만 데이터의 대소문자는 구분한다.

 

* SQL 언어의 정의

 - 관계형 DB를 조작하기 위한 표준 언어

 - 관계 대수와 관계 해석의 수학적이 이론을 기초로 개발

- DB의 구조를 정의하거나 DB에 저장된 데이터를 검색하기 위한 목적

 

 

* SQL 언어의 특징

 - 비절차적 언어

 기존 프로그래밍 언어: 레코드 단위로 처리 조건에 따라 데이터에 대한 접근 경로가 달라진다.

 SQL 언어: 조건을 만족하는 데이터를 집합 단위로 한꺼번에 처리함

 - 대화식으로 사용되거나 응용 프로그램에 삽입하여 사용한다. 

 

* SQL 명령문의 종류

출처 https://www.w3schools.in/mysql/ddl-dml-dcl/

데이터 언어: 데이터베이스를 정의하고 접근하기 위해 DBMS와 통신할 수 있는 수단 

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

데이터베이스 설계자가 데이터베이스의 구조를 정의하거나 수정하기 위한 목적으로 사용되며, 테이블을 생성, 수정, 삭제하는 명령문이 포함된다. - CREATE, ALTER, DROP, RENAME, TRUNCATE

데이터베이스를 정의하거나 그 정의를 수정할 목적으로 사용하는 언어이다. 즉 기본적으로 데이터베이스 스키마를 데이터베이스 관리 시스템이 이해할 수 있게끔 기술하는 데 사용된다. 데이터베이스 관리자나 데이터베이스 설계자가 주로 사용한다. 이렇게 기술된 데이터베이스 스키마는 통상 DDL 컴파일러가 컴파일하여 시스템 카탈로그에 저장해놓고 필요한 경우에 시스템이 활용한다. 

 

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

 

일반 프로그래머들이 데이터베이스 응용 프로그램을 개발하기 위한 목적으로 주로 사용되며 데이터를 입력, 수정, 삭제하는 명령문이 포함된다. - INSERT, UPDATE, DELETE

 

3) 데이터 제어어 (DCL: Data Control Language)

데이터베이스 관리자(DBA: DataBase Administrator)가 데이터 에 대한 접근 권한 부여와 같은 데이터베이스 시스템을 관리하기 위한 목적으로 사용된다. -GRANT, REVOKE

 

 

 

'CS > database' 카테고리의 다른 글

Subquery  (0) 2021.04.07
Join  (0) 2021.04.06
JDBC Programming 개발 순서  (0) 2021.03.12
JDBC(Java DataBase Connectivity)  (0) 2021.03.12
데이터베이스 기초-1  (0) 2020.07.23