완전한 기능을 갖춘 SQL
완전한 기능을 갖춘 SQL (Full-Featured SQL)
이름에 "Lite(경량)"가 들어 있다고 해서 속지 마세요. SQLite에는 완전한 기능을 갖춘 SQL 구현이 들어 있으며, 다음을 포함합니다.
본문
Do not be misled by the "Lite" in the name. SQLite has a full-featured SQL implementation, including:
- 테이블, 인덱스, 트리거, 뷰를 무제한으로 만들 수 있어요.
- 테이블당 최대 32K개의 컬럼과 무제한의 행
- 다중 컬럼 인덱스 (Multi-column indexes)
- 인덱스는 DESC와 COLLATE를 사용할 수 있어요.
- 부분 인덱스 (Partial indexes)
- 표현식 인덱스 (Indexes On Expressions)
- 클러스터형 인덱스 (Clustered indexes)
- 커버링 인덱스 (Covering indexes)
- CHECK, UNIQUE, NOT NULL, FOREIGN KEY 제약
- BEGIN, COMMIT, ROLLBACK을 이용한 ACID 트랜잭션
- SAVEPOINT, RELEASE, ROLLBACK TO를 이용한 중첩 트랜잭션
- 서브쿼리와 상관 서브쿼리 (correlated subqueries)
- 최대 64-way 조인
- LEFT, RIGHT, FULL OUTER JOIN
- DISTINCT, ORDER BY, GROUP BY, HAVING, LIMIT, OFFSET
- UNION, UNION ALL, INTERSECT, EXCEPT
- 풍부한 표준 SQL 함수 라이브러리
- DISTINCT 집계를 포함한 집계 함수 (Aggregate functions)
- 윈도우 함수 (Window functions)
- (당연히) UPDATE, DELETE, INSERT
- 재귀 공통 테이블 표현식을 포함한 공통 테이블 표현식 (Common table expressions)
- 행 값 (Row values)
- UPSERT
- 고급 쿼리 플래너 (query planner)
- 전문 검색 (Full-text search)
- R-tree 인덱스
- JSON 지원
- IS 연산자
- 테이블 값 함수 (Table-valued functions)
- REPLACE INTO
- VACUUM
- REINDEX
- GLOB 연산자
- 16진수 정수 리터럴 (Hexadecimal integer literals)
- ON CONFLICT 절
- INDEXED BY 절
- 가상 테이블 (Virtual tables)
- ATTACH DATABASE를 이용해 같은 데이터베이스 연결에서 여러 데이터베이스 사용
- 집계 함수와 테이블 값 함수를 포함한 애플리케이션 정의 SQL 함수 추가 기능
- 애플리케이션 정의 정렬 함수 (Application-defined collating functions)
위에 나열되지 않은 더 많은 기능이 있습니다. SQLite는 크기가 작고 이름에 "Lite"가 들어 있지만, 기능이 부족하지는 않아요.