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
: 처음부터 주어진 요소나 지점까지의 차이를 나타내는 정수형
• 예시
- 문자열 ‘abcedf’ 에서 문자 c는 시작점 a에서 2의 OFFSET을 지님
- SELECT * FROM MY_TABLE LIMIT 10 OFFSET 5
- 0부터 시작함
- “6번째 행 부터 10개 행을 조회 (6번째 행부터 10개를 출력)”
'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 |
댓글