English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQLite简介

Questo capitolo può aiutarti a comprendere cosa è SQLite, quali sono le differenze con SQL, perché è necessario e come gestisce i database delle applicazioni.

SQLite è una libreria di software che implementa un motore di database SQL autonomo, senza server, senza configurazione e transazionale. SQLite è uno dei motori di database che sta crescendo più rapidamente, ma questa crescita è legata alla sua popolarità, non alla sua dimensione. Il codice sorgente di SQLite è nel dominio pubblico.

Cos'è SQLite?

SQLite è una libreria interna che implementa un motore di database SQL autocomplesso, senza server e senza configurazione. È un database senza configurazione, il che significa che come altri database, non è necessario configurarlo nel sistema.

Il motore SQLite non è un processo indipendente da altri database, può essere linkato staticamente o dinamicamente all'applicazione in base alle necessità. SQLite accede direttamente ai suoi file di archiviazione.

Perché scegliere SQLite?

  • SQLite può funzionare senza bisogno di un processo server o di un sistema separato (nessun server).

  • SQLite è zero-configuration, il che significa che non è necessario configurare o gestire.

  • Il database SQLite completo è memorizzato in un singolo file di disco cross-platform.

  • SQLite è molto piccolo e leggero, con una configurazione completa inferiore a 400KiB, mentre le funzionalità opzionali omesse sono inferiori a 250KiB.

  • SQLite è indipendente, il che significa che non ha dipendenze esterne.

  • Le transazioni di SQLite sono completamente conformi a ACID, permettendo l'accesso sicuro da parte di più processi o thread.

  • SQLite supporta la maggior parte delle funzionalità di linguaggio di query dello standard SQL92 (SQL2).

  • SQLite è scritto in ANSI-C e fornisce un'API semplice e intuitiva.

  • SQLite è disponibile su UNIX (Linux, Mac OS-X, Android, iOS) e Windows (Win32, WinCE, WinRT).

Storia di SQLite

  • Nel 2000, D. Richard Hipp (R. Richard Hipp) ha progettato SQLite con l'obiettivo di far funzionare i programmi senza la necessità di un programma di gestione.

  • Nel 2000, agosto, SQLite 1.0 è stato pubblicato insieme al GNU Database Manager.

  • Nel 2011, Hipp ha annunciato di aggiungere l'interfaccia UNQl al DB SQLite e di sviluppare UNQLite (database orientato ai documenti).

Limitazioni di SQLite

La tabella sottostante elenca alcune delle caratteristiche SQL92 non supportate in SQLite.

序号Funzione e descrizione
1

RIGHT OUTER JOIN

Ha implementato solo LEFT OUTER JOIN.

2

FULL OUTER JOIN

Ha implementato solo LEFT OUTER JOIN.

3

ALTER TABLE

Supporta le varianti RENAME TABLE e ADD COLUMN del comando ALTER TABLE. Non supporta DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT.

4

Supporto trigger

Supporta trigger FOR EACH ROW, ma non supporta trigger FOR EACH STATEMENT.

5

Viste

Le Viste in SQLite sono readonly. Potrebbe non essere possibile eseguire statement DELETE, INSERT o UPDATE sulla vista.

6

GRANT e REVOKE

L'unica autorizzazione applicabile è quella di accesso ai file del sistema operativo di base.

Comandi SQLite

I comandi standard SQLite per l'interazione con i database relazionali sono simili a SQL. Questi sono CREATE, SELECT, INSERT, UPDATE, DELETE e DROP. Questi comandi possono essere classificati in diverse categorie in base alla loro natura operativa.

DDL-数据定义语言

序号命令与说明
1

CREATE

在数据库中创建新表,表视图或其他对象。

2

ALTER

修改现有的数据库对象,例如表。

3

DROP

删除整个表,数据库表的视图或其他对象。

DML-数据处理语言

序号命令与说明
1

INSERT

创建一条记录

2

UPDATE

修改记录

3

DELETE

删除记录

DQL-数据查询语言

序号命令与说明
1

SELECT

从一个或多个表中检索某些记录