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

Introdução ao SQLite

Este capítulo pode ajudá-lo a entender o que é SQLite, como ele se diferencia do SQL, por que é necessário e como ele lida com bancos de dados de aplicativos.

SQLite é uma biblioteca de software que implementa um motor de banco de dados SQL autônomo, sem servidor, zero configuração e transacional. SQLite é um dos motores de banco de dados que está crescendo mais rapidamente atualmente, mas este crescimento de popularidade não está relacionado ao seu tamanho. O código-fonte do SQLite está no domínio público.

O que é SQLite?

SQLite é uma biblioteca interna que pode implementar um motor de banco de dados SQL autônomo, sem servidor e zero configuração. É um banco de dados zero configuração, o que significa que, como outros bancos de dados, você não precisa configurá-lo no sistema.

O motor SQLite não é um processo independente de outros bancos de dados, você pode linká-lo estáaticamente ou dinamicamente ao aplicativo conforme necessário. O SQLite acessa diretamente seu arquivo de armazenamento.

Por que escolher SQLite?

  • O SQLite não precisa de um processo de servidor separado ou sistema para executar (sem servidor).

  • O SQLite vem com zero configuração, o que significa que não há necessidade de configuração ou gerenciamento.

  • O banco de dados SQLite completo é armazenado em um único arquivo de disco cross-plataforma.

  • O SQLite é muito pequeno e leve, com configuração completa menor que400KiB, enquanto as funcionalidades opcionais omitidas são menores que250KiB.

  • O SQLite é independente, o que significa que não há dependências externas.

  • As transações do SQLite são completamente conformes ao ACID, permitindo acesso seguro de múltiplos processos ou threads.

  • O SQLite suporta SQL92(SQL2) padrão.

  • SQLite usa a maioria das funcionalidades de linguagem de consulta do padrão ANSI-escrito em C, fornecendo uma API simples e fácil de usar.

  • SQLite está disponível no UNIX (Linux, Mac OS-X, Android, iOS) e Windows (Win32,WinCE,WinRT) está disponível.

História do SQLite

  • 2000 ano-D. Richard Hipp (R. Richard Hipp) projetou o SQLite para executar programas sem a necessidade de um programa de gerenciamento.

  • 2000 ano-8mês, SQLite 1.0 foi lançado junto com o gerenciador de banco de dados GNU.

  • 2011ano-Hipp anunciou que adicionará a interface UNQl ao SQLite DB e desenvolverá UNQLite (banco de dados orientado a documentos).

Limitações do SQLite

A tabela a seguir lista várias SQL não suportadas no SQLite92Características.

NúmeroFunção e descrição
1

RIGHT OUTER JOIN

Apenas implementou LEFT OUTER JOIN.

2

FULL OUTER JOIN

Apenas implementou LEFT OUTER JOIN.

3

ALTER TABLE

Suporta variantes RENAME TABLE e ADD COLUMN do comando ALTER TABLE. Não suporta DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT.

4

Suporte a gatilhos

Suporta gatilhos FOR EACH ROW, mas não suporta gatilhos FOR EACH STATEMENT.

5

VIEWS

As VIEWS no SQLite são apenas leitura. Você pode não poder executar comandos DELETE, INSERT ou UPDATE em uma view.

6

GRANT e REVOKE

A única permissão de acesso aplicável é a permissão de arquivo comum do sistema operacional básico.

Comandos SQLite

Os comandos padrão SQLite para interagir com o banco de dados relacional são semelhantes ao SQL. Eles são CREATE, SELECT, INSERT, UPDATE, DELETE e DROP. Esses comandos podem ser classificados em várias categorias com base em sua natureza operacional-

DDL-Linguagem de Definição de Dados

NúmeroComandos e Descrições
1

CREATE

Criar novas tabelas, visões de tabelas ou outros objetos no banco de dados.

2

ALTER

Modificar objetos de banco de dados existentes, como tabelas.

3

DROP

Excluir uma tabela inteira, visão de tabela de banco de dados ou outro objeto.

DML-Linguagem de Manipulação de Dados

NúmeroComandos e Descrições
1

INSERT

Criar um registro

2

UPDATE

Modificar registros

3

DELETE

Excluir registros

DQL-Linguagem de Consulta de Dados

NúmeroComandos e Descrições
1

SELECT

Recuperar alguns registros de uma ou mais tabelas