SQLite-개요
이 장은 SQLite가 무엇인지, SQL과 어떻게 다른지, 왜 필요한지, 응용 프로그램 데이터베이스를 처리하는 방법을 이해하는 데 도움이됩니다.
SQLite는 자체 포함, 서버리스, 제로 구성, 트랜잭션 SQL 데이터베이스 엔진을 구현하는 소프트웨어 라이브러리입니다. SQLite는 가장 빠르게 성장하는 데이터베이스 엔진 중 하나이지만 그 크기와는 상관없는 인기 측면에서 성장했습니다. SQLite의 소스 코드는 공개 도메인에 있습니다.
SQLite 란 무엇입니까?
SQLite는 자체 포함, 서버리스, 제로 구성, 트랜잭션 SQL 데이터베이스 엔진을 구현하는 프로세스 내 라이브러리입니다. 제로 구성되는 데이터베이스이므로 다른 데이터베이스와 마찬가지로 시스템에서 구성 할 필요가 없습니다.
SQLite 엔진은 다른 데이터베이스와 같은 독립 실행 형 프로세스가 아니므로 애플리케이션과의 요구 사항에 따라 정적으로 또는 동적으로 연결할 수 있습니다. SQLite는 스토리지 파일에 직접 액세스합니다.
왜 SQLite인가?
SQLite는 별도의 서버 프로세스 나 시스템이 필요하지 않습니다 (서버리스).
SQLite는 구성이 필요하지 않으므로 설정이나 관리가 필요하지 않습니다.
완전한 SQLite 데이터베이스는 단일 크로스 플랫폼 디스크 파일에 저장됩니다.
SQLite는 매우 작고 가벼우 며 완전히 구성된 400KiB 미만이거나 옵션 기능이 생략 된 250KiB 미만입니다.
SQLite는 독립적이므로 외부 종속성이 없습니다.
SQLite 트랜잭션은 ACID를 완전히 준수하므로 여러 프로세스 또는 스레드에서 안전하게 액세스 할 수 있습니다.
SQLite는 SQL92 (SQL2) 표준에있는 대부분의 쿼리 언어 기능을 지원합니다.
SQLite는 ANSI-C로 작성되었으며 간단하고 사용하기 쉬운 API를 제공합니다.
SQLite는 UNIX (Linux, Mac OS-X, Android, iOS) 및 Windows (Win32, WinCE, WinRT)에서 사용할 수 있습니다.
SQLite 간략한 역사
2000-D. Richard Hipp은 프로그램 운영에 필요한 관리가 필요하지 않은 목적으로 SQLite를 설계했습니다.
2000-8 월에 SQLite 1.0이 GNU 데이터베이스 관리자와 함께 출시되었습니다.
2011-Hipp는 SQLite DB에 UNQl 인터페이스를 추가하고 UNQLite (문서 지향 데이터베이스)를 개발한다고 발표했습니다.
SQLite 제한
다음 표에 나열된 SQLite에는 지원되지 않는 SQL92 기능이 거의 없습니다.
Sr. 아니. | 기능 및 설명 |
---|---|
1 | RIGHT OUTER JOIN LEFT OUTER JOIN 만 구현됩니다. |
2 | FULL OUTER JOIN LEFT OUTER JOIN 만 구현됩니다. |
삼 | ALTER TABLE ALTER TABLE 명령의 RENAME TABLE 및 ADD COLUMN 변형이 지원됩니다. DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT는 지원되지 않습니다. |
4 | Trigger support FOR EACH ROW 트리거는 지원되지만 FOR EACH STATEMENT 트리거는 지원되지 않습니다. |
5 | VIEWs SQLite의 VIEW는 읽기 전용입니다. 뷰에서 DELETE, INSERT 또는 UPDATE 문을 실행할 수 없습니다. |
6 | GRANT and REVOKE 적용 할 수있는 유일한 액세스 권한은 기본 운영 체제의 일반 파일 액세스 권한입니다. |
SQLite 명령
관계형 데이터베이스와 상호 작용하는 표준 SQLite 명령은 SQL과 유사합니다. CREATE, SELECT, INSERT, UPDATE, DELETE 및 DROP입니다. 이러한 명령은 작동 특성에 따라 그룹으로 분류 할 수 있습니다.
DDL-데이터 정의 언어
Sr. 아니. | 명령 및 설명 |
---|---|
1 | CREATE 새 테이블, 테이블보기 또는 데이터베이스의 다른 개체를 만듭니다. |
2 | ALTER 테이블과 같은 기존 데이터베이스 개체를 수정합니다. |
삼 | DROP 전체 테이블, 테이블 뷰 또는 데이터베이스의 다른 개체를 삭제합니다. |
DML-데이터 조작 언어
Sr. 아니. | 명령 및 설명 |
---|---|
1 | INSERT 레코드를 만듭니다. |
2 | UPDATE 기록 수정 |
삼 | DELETE 기록 삭제 |
DQL-데이터 쿼리 언어
Sr. 아니. | 명령 및 설명 |
---|---|
1 | SELECT 하나 이상의 테이블에서 특정 레코드를 검색합니다. |