Domain 지식들

쿼리란 무엇인가?

monsangter 2023. 4. 3. 14:00

쿼리란 무엇인가?

 

데이터베이스 등에서 원하는 정보를 검색하기 위해 요청하는 것을 말한다.

이러한 질의를 위한 특정한 구조의 프로그램 언어를 사용하기도 하며 대표적으로 SQL등이 있다.

웹서버에 특정한 정보를 보여달라는 웹 클라이언트 요청에 의한 처리이다.

쿼리는 대게 데이터 베이스로부터 특정한 주제어나 어귀를 찾기위해 사용된다.

주제어가 검색 엔진의 검색 필드 내에 입력된 다음 그 내용이 웹서버로 넘겨진다.

간단한 홈페이지를 개발할 경우 간단한 DB를 구축하게 되는데, 이는 개발자의 의도에 따라 약간씩 은 다르지만 대부분 유사한 형태의 구조를 가지는 테이블을 포함한다. 여기서 사용자 혹은 관리자들은 이런 테이블에서 특정 조건에 해당하는 자료를 조회하거나 출력하는 등의 작업을 한다.

 

이떄 데이터를 가져오기 위해 사용하는 DB용 언어를 SQL이라고 한다. 이런 SQL언어는 대부분 DB에 95퍼센트 이상 호환되며, 이렇게 특정 db에 원하는 조건의 데이터를 조작하는 언어를 쿼리라고 한다.

데이터를 다루는 프로그램에서 이런 쿼리는 필수적인 요소라고 할 수 있다.

DB서버가 구동되는 환경에서 DB에 대해 작업하는 명령문을 쿼리라고 생각하면 된다.

사용자 → 쿼리문 →db서버

사용자 ← 결과 ← db서버

하지만 개념 자체가 명령문과 사뭇 다르기 때문에 쿼리라고 따로 부르고 있다.

쿼리 표준이 있기 때문에 DB마다 조금씩은 다르더라도 큰 틀을 벗어나게 구성돼 있지 않다.

웹에서는 데이터를 GET 요청 방식으로 전송할때 URL 끝에 쿼리 문자열로 포함되어 전송된다.

 

 

SQL이란?

데이터베이스에서 CRUD를 수행하는데 사용되는 질의 언어이다.

struectred query language의 약자로,

구조화된 언어로써 일정한 틀과 패턴이 있다. 다만 다른 언어와 달리 사용자 관점에서 무엇을 해야하는지 명시하는 언어이다.

SQL은 76년 IBM의 관계형 DB 시스템에서 처음 사용되었다.

 

 

특징

배우고 사용하기 쉬운 언어이다. 그

리고 절차적 개별단위로 처리 되기보다는 데이터 집합 단위로 처리된다.

또한 실제 데이터들이 어떻게 처리되는 지에 대한 세부적 과정은 SQL문장을 작성하는 사람이 신경쓰지 않아도 된다.

 

 

구문

데이터 정의어, Data Definition Language

데이터베이스를 정의하는 언어이며, 데이터를 생성 수정 삭제한다.

구문 설명

CREATE 데이터베이스, 테이블 등을 생성하는 역할을 한다.
ALTER 테이블을 수정하는 역할을 한다.
DROP 데이터베이스, 테이블을 삭제하는 역할을 한다.
TRUNCATE 테이블을 초기화시키는 역할을 한다.

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

정의된 데이터베이스에 입력된 레코드를 조회하거나 수정, 삭제하는 등의 역할을 하는 언어이다.

구문 설명

SELECT 데이터를 조회하는 역할을 한다.
INSERT 데이터를 삽입하는 역할을 한다.
UPDATE 데이터를 수정하는 역할을 한다.
DELETE 데이터를 삭제하는 역할을 한다.

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

데이터베이스에 접근하거나 객체에 권한을 주는 등의 역할을 하는 언어이다

구문 설명

GRANT 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 부여한다.
REVOKE 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 박탈, 회수한다.
COMMIT 저장되지 않은 모든 데이터를 데이터베이스에 저장하고 현재의 트랜잭션을 종료하는 역할을 한다.
ROLLBACK 트랜잭션의 작업을 취소 및 복구하는 역할을 한다.

참조:

https://blog.naver.com/PostView.nhn?blogId=rlarbtjq7913&logNo=221805728231

http://wiki.hash.kr/index.php/쿼리