SQL

[SQL] SQL의 개념과 특징, 문장의 종류 및 기분 문법

정공자씨 2024. 5. 1. 17:36

 

 

SQL(Structured Query Language)

SQL이란?

  • Structured Query Language
  • 사용자와 관계형 데이터베이스(RDBMS)를 연결시켜주는 표준 검색 언어
  • 데이터베이스에 데이터를 저장하고, 검색하고, 변경하는 데에 사용하는 데이터 처리 언어
  • 관계형 데이터베이스가 알아듣는 유일한 언어

 

 

SQL 문장의 특징

  • SQL은 데이터의 연산 처리가 절차적으로 진행되지 않고, 데이터의 집합 단위로 처리됨
    • 비 절차적 언어(Non-Procedural)
    • 즉, 절차적 언어처럼 처리과정을 일일이 기술할 필요가 없는 언어
    • 구조화된 언어이기 때문에 일정한 규칙과 패턴에 맞게 조건을 나열하면, SQL문은 우리가 원하는 결과를 반환함
  • 표준 SQL 문법(ANSI 표준)이 존재하기 때문에 DBMS 종류(Oracle, MSSQL, MySQL 등)에 얽매이지 않고 사용할 수 있음
    • 공통적으로 사용할 수 있는 ANSI 표준을 제외하고
    • 회사마다 자체적으로 추가한 SQL문법만 따로 정리하면 됨
  • 영어 문장과 비슷한 구문을 갖추고 있어 쉽게 배우고 사용할 수 있는 언어
  • 인터프리터 언어
    • 한 줄씩 읽어서 처리함

 

 

프로그래밍 언어의 패러다임
Declarative Language Imperative Language
문제를 설명하는 고급언어 프로그래밍 상태와 상태를 변경시키는 구문의 관점에서 연산을 설명함
무엇을 할 것인가에 중점 어떻게 할 것인지에 중점
기능이 이미 갖춰져 있음 기능을 구현해야 함
메뉴얼 도구
다수의 명령어
- 익혀야 할 기능이 많음
- 메뉴얼이 필요
소수의 명령어(범용적)

 

 

 

기본적인 SQL 문법

종류 예시 설명
SELECT SELECT 컬럼 FROM 테이블명 데이터 조회
INSERT INSERT INTO 테이블명(컬럼1, 컬럼2, ...)
VALUES (값1, 값2, ...) 
데이터 삽입
UPDATE UPDATE 테이블 SET 컬럼 = 값 데이터 업데이트
DELETE DELETE FROM 테이블명 데이터 삭제
CREATE TABLE CREATE TABLE 테이블명 새 테이블 생성
ALTER TABLE ALTER TABLE 테이블명 테이블 수정
DROP TABLE DROP TABLE 테이블명 테이블 삭제
GRANT GRANT SELECT ON 테이블명 TO 사용자명 사용자에게 권한 부여
REVOKE REVOKE INSERT ON 테이블명  FROM 사용자명 사용자 권한 회수

 

 

 

 

SQL 문장의 종류

1. 정의어 (DDL, Data Definition Language)

  • 데이터베이스 구조를 정의하거나 수정하는 데 사용
  • 테이블, 인덱스, 뷰 등을 생성하거나 수정하는데 활용
예시 설명
CREATE TABLE student 새로운 student 테이블 생성
ALTER TABLE student ADD COLUMN address varchar(255) student 테이블에 address 컬럼 추가
DROP INDEX index index를 삭제

 

 

2. 조작어 (DML, Data Manipulation Language)

  • 데이터베이스 내의 데이터를 검색하거나 조작하는데 사용
  • 데이터의 삽입, 갱신, 삭제, 조회 등을 처리
예시 설명
SELECT name, age FROM student student 테이블의 name, age 컬럼을 조회
INSERT INTO student (name, age)
VALUES ("정공자씨", 20)
student 테이블에 name, age 컬럼에 값을 삽입
UPDATE student SET age = 30 student 테이블에 age를 30으로 데이터 변경
DELETE FROM student student 테이블의 데이터 삭제

 

 

3. 제어어 (DCL, Data Control Language)

  • 데이터베이스 사용자의 권한과 보안을 관리하는 데 사용
  • 사용자에게 권한을 부여하거나 회수
예시 설명
GRANT SELECT ON student TO user 사용자에게 student 테이블 SELECT(조회) 권한 부여
REVOKE INSERT ON student FROM user 사용자로부터 student 테이블 INSERT(삽입) 권한 회수

 

 

 

 

 

 

 

 

출처

 

https://studycapitalism.com/sql-structured-query-language%EC%97%90-%EB%8C%80%ED%95%9C-%EB%AA%A8%EB%93%A0-%EA%B2%83/