SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 정의, 조작, 제어하기 위한 표준 프로그래밍 언어입니다. SQL은 데이터베이스를 관리하고, 데이터베이스 내에서 데이터를 효율적으로 처리하기 위해 사용됩니다.
비절차적(nonprocedural)언어입니다.
절차적 언어 - 순서가 바뀌면 전혀 엉뚱한 결과가 나올수 있는 형태로, 앞뒤 순선가 명확한 언어로 대부분의 프로그래밍 언어(c, c++,java, python)
비절차적 언어 - 한 명령어로 모든 것이 끝나기 때문에 그 명령 하나로 처리가 되서 약간 순차적인 의미를 가질수도 있지만 대체적으로 대부분의 명령이 순서에 상관없이 각각의 명령을 실행하기 때문에 한줄로 끝난다. = 사용자 인터페이스라고도 표현합니다.
데이터베이스 관리 시스템에 대한 언어 기반의 사용자 인터페이스라고도 하는데요
우리가 실제로 만들어 놓은 데이터 베이스가 있는데 이 데이터베이스를 처음부터 만들수 있는건 아니죠. 어떤 도구를 통해서 데이터베이스를 구축하게 됩니다.
그 데이터베이스를 구축하기 위한 도구 중에 하나가 바로 데이터베이스 관리시스템이라고 불리는 프로그래밍으로 만들어진 도구인거죠 이걸 줄여서 DBMS 라고 부르는데 이걸 사용하려고 보니까 어떤 표준화된 인터페이스가 있어야 되는거에요
그 표준화된 인터페이스로 고안해 낸 것이 이 씨퀄(Structured Query Language)인 것이죠. 그래서 이 비절차적인 프로그래밍 언어가 아닌 비절차적인 질의 언어, 질의를 하기 위한 이런 질의 언어를 기반으로 해서 사용자가 이 명령어를 통해서 데이터베이스 관리 시스템에 명령을 내리면 그 데이터베이스 관리 시스템은 해당 질의를 파싱 해독해서 데이터베이스에 원하는 조회 결과 , 원하는 데이터 입력, 원하는 데이터 갱신, 원하는 데이터 삭제 이런 작업들을 할수 있게 해주는 것입니다.
그런데 이 SQL을 사용자가 직접 사용할 수도 있죠.
c언어, c++, 자바, 또는 다른 프로그래밍 언어로 작성된 프로그램 안에 씨퀄 언어를 내장 시켜서 응용프로그램이 이 시퀄 언어를 구동시키게 만들 수 있어요 그걸 보통 임베디드 방식이라고 하는데 이런 임베디드 방식으로 또 응용프로그램이 씨퀄 언어 인터페이스를 통해서 DBMS관리 시스템을 통해서 최종적으로 데이터베이스에 접근해서 필요한 작업을 할 수도 있는겁니다.
이렇게 데이터베이스 관리 시스템에 대한 언어 기반의 인터페이스 중간 역할을 해주는 것이 바로 씨퀄 언어인거고
이 씨퀄 언어를 모르면 데이터베이스를 사용할 수가 없다고 말할 수 있습니다.
주요 기능:
- 데이터 정의 (DDL, Data Definition Language):
- 데이터베이스, 테이블, 뷰 등을 생성하거나 수정하는 명령어들입니다.
- 예: CREATE, ALTER, DROP
- 데이터 조작 (DML, Data Manipulation Language):
- 데이터베이스에 저장된 데이터를 조회, 삽입, 수정, 삭제하는 명령어들입니다.
- 예: SELECT, INSERT, UPDATE, DELETE
- 데이터 제어 (DCL, Data Control Language):
- 데이터에 대한 접근 권한을 제어하는 명령어들입니다.
- 예: GRANT, REVOKE
- 트랜잭션 제어 (TCL, Transaction Control Language):
- 트랜잭션을 제어하는 명령어들입니다.
- 예: COMMIT, ROLLBACK, SAVEPOINT
SQL의 주요 명령어 예시:
- 데이터 조회 (SELECT):이 명령어는 학생 테이블의 모든 데이터를 조회합니다.
- SELECT * FROM 학생;
- 데이터 삽입 (INSERT):이 명령어는 학생 테이블에 새로운 레코드를 삽입합니다.
- INSERT INTO 학생 (이름, 나이) VALUES ('홍길동', 20);
- 데이터 수정 (UPDATE):이 명령어는 학생 테이블에서 이름이 '홍길동'인 학생의 나이를 21로 수정합니다.
- UPDATE 학생 SET 나이 = 21 WHERE 이름 = '홍길동';
- 데이터 삭제 (DELETE):이 명령어는 학생 테이블에서 이름이 '홍길동'인 학생의 데이터를 삭제합니다.
- DELETE FROM 학생 WHERE 이름 = '홍길동';
- 테이블 생성 (CREATE TABLE):이 명령어는 학생 테이블을 생성합니다.
- CREATE TABLE 학생 ( 학생ID INT AUTO_INCREMENT PRIMARY KEY, 이름 VARCHAR(100), 나이 INT );
SQL의 특징:
- 표준화: SQL은 국제 표준 언어로, 다양한 관계형 데이터베이스 시스템에서 동일한 SQL 명령어를 사용하여 데이터베이스 작업을 수행할 수 있습니다.
- 가독성: SQL 문법은 영어에 가까운 형태여서, 이해하고 작성하기 상대적으로 쉬운 편입니다.
- 복잡한 쿼리 처리: 여러 테이블을 조인하거나, 다양한 조건을 설정하는 등의 복잡한 데이터 조회와 조작이 가능합니다.
SQL은 데이터베이스 작업을 자동화하고 효율적으로 관리하는 데 필수적인 도구입니다.
'데이터베이스' 카테고리의 다른 글
SQL 명령어의 종류 (0) | 2025.03.28 |
---|---|
SQL Server 관리 스튜디오로 새 테이블 만들기 (0) | 2025.03.28 |
MS SQL Server - 시퀀스 서버 관리 스튜디오 사용하기 (0) | 2025.03.28 |
MS-SQL 설치 (0) | 2025.03.28 |
프라이머리 키란? (0) | 2025.03.28 |