Tiny Finger Point Hand With Heart
본문 바로가기
DataBase

[SQL] SQL (Structured Query Language)

by yoondii 2023. 3. 3.
728x90
반응형

 

SQL (Structured Query Language)

• 관계형 데이터베이스 관리시스템의 데이터 관리를 위해 설계된 특수 목적으로 프로그래밍 언어

• 데이터베이스 스키마 생성 및 수정

• 자료의 검색 및 관리

• 데이터베이스 객체 접근 조정 관리

DDL - 데이터 정의 언어 (Data Definition Language)

관계형 데이터베이스 구조(테이블, 스키마)를 정의하기 위한 명령어

CREATE / DROP / ALTER

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

데이터를 저장, 조회, 수정, 삭제 등을 하기 위한 명령어

INSERT SELECT / UPDATE / DELETE

 

DCL - 데이터 제어 언어 (Data Control Language)

데이터베이스 사용자의 권한 제어를 위해 사용하는 명령어

GRANT / REVOKE / COMMIT / ROLLBACK

• SQL Keywords - Data Manipulation Language

​ • INSERT : 새로운 데이터 삽입(추가)

​ • SELECT : 저장되어있는 데이터 조회

​ • UPDATE : 저장되어있는 데이터 갱신

​ • DELETE : 저장되어있는 데이터 삭제


CREATE

• 필드 제약 조건

​ • NOT NULL : NULL 값 입력 금지

​ • UNIQUE : 중복 값 입력 금지 (NULL 값은 중복 입력 가능)

​ • PRIMARY KEY : 테이블에서 반드시 하나. NOT NULL + UNIQUE

​ • FOREIGN KEY : 외래키. 다른 테이블의 Key

​ • CHECK : 조건으로 설정된 값만 입력 허용

 • DEFAULT : 기본 설정 값

#테이블생성하기
CREATE TABLE students(
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER DEFAULT 1 CHECK (0 < age)
);

#테이블에 단일 행 삽입
INSERT INTO 테이블_이름 (컬럼1, 컬럼2) VALUES (값1, 값2);

#테이블에 정의된 모든 컬럼에 맞춰 순서대로 입력
INSERT INTO 테이블_이름 VALUES (값1, 값2, 값3);

READ

SELECT

​ • “query data from a table”

​ • 테이블에서 데이터를 조회

​ • SELECT 문은 SQLite에서 가장 기본이 되는 문이며 다양한 절(clause)와 함께 사용

​ • ORDER BY, DISTINCT, WHERE, LIMIT, GROUP BY …

 

LIMIT

​ • “constrain the number of rows returned by a query”

​ • 쿼리에서 반환되는 행 수를 제한

​ • 특정 행부터 시작해서 조회하기 위해 OFFSET 키워드와 함께 사용하기도 함

 

WHERE

​ • “specify the search condition for rows returned by the query”

​ • 쿼리에서 반환된 행에 대한 특정 검색 조건을 지정

 

SELECT DISTINCT

​ • “remove duplicate rows in the result set”

​ • 조회 결과에서 중복 행을 제거

​ • DISTINCT 절은 SELECT 키워드 바로 뒤에 작성해야 함

 

OFFSET

: 처음부터 주어진 요소나 지점까지의 차이를 나타내는 정수형

• 예시

  1. 문자열 ‘abcedf’ 에서 문자 c는 시작점 a에서 2의 OFFSET을 지님
  2. SELECT * FROM MY_TABLE LIMIT 10 OFFSET 5
    1. 0부터 시작함
    2. “6번째 행 부터 10개 행을 조회 (6번째 행부터 10개를 출력)”
728x90
반응형

'DataBase' 카테고리의 다른 글

[SQLD] 데이터모델링(Data Modeling)  (0) 2023.03.07
[SQL] 집계 함수(Aggregate function )/ 기본 함수와 연산  (0) 2023.03.04
[SQL] LIKE 와일드카드  (0) 2023.03.03
[SQL] WHERE절  (0) 2023.03.03
[DB] 정규화(Normalization)  (0) 2023.02.27

댓글