SQLite é um banco de dados leve. Seu objetivo de design é incorporado e tem sido usado em muitos produtos incorporados. Em dispositivos incorporados, pode exigir apenas algumas centenas de K. A memória é suficiente. Ele pode suportar sistemas operacionais convencionais, como Windows/Linux/Unix, e pode ser combinado com muitas linguagens de programação, como Tcl, PHP, Java, etc., bem como interfaces ODBC. Também é comparado ao Mysql e PostgreSQL, dois. software de código aberto mundialmente famoso Em termos de sistemas de gerenciamento de banco de dados, sua velocidade de processamento é mais rápida do que todos eles.
Embora o SQLite seja muito pequeno, as instruções SQL que ele suporta não são inferiores a outros bancos de dados de código aberto. O SQL que ele suporta inclui:
ATTACH DATABASE.
INICIAR TRANSAÇÃO
comentário
COMPROMETIR TRANSAÇÃO
CÓPIA
CRIAR ÍNDICE
CRIAR TABELA
CRIAR GATILHO
CRIAR VISUALIZAÇÃO
EXCLUIR
DESANEXAR BANCO DE DADOS
ÍNDICE DE QUEDA
TABELA DE QUEDAS
GATILHO DE QUEDA
VISUALIZAÇÃO DE QUEDA
FINALIZAR TRANSAÇÃO
EXPLICAR
expressão
INSERIR
Cláusula ON CONFLICT
PRAGMA
SUBSTITUIR
TRANSAÇÃO DE REVERSÃO
SELECIONAR
ATUALIZAÇÃO
Ao mesmo tempo, também suporta funções de processamento de transações e assim por diante. Algumas pessoas também dizem que é como o Access da Microsoft. Às vezes parece um pouco parecido, mas na verdade são muito diferentes. Por exemplo, SQLite suporta plataforma cruzada, é simples de operar e pode criar bancos de dados diretamente em vários idiomas, ao contrário do Access, que não requer suporte do Office. Se você possui um aplicativo muito pequeno ou deseja fazer desenvolvimento embarcado e não possui um sistema de banco de dados adequado, considere usar o SQLite agora. Atualmente sua última versão é a 3.2.2, e seu site oficial é: http://www.sqlite.org , onde o código fonte e a documentação podem ser obtidos. Ao mesmo tempo, como a estrutura do banco de dados é simples e não há muito código-fonte do sistema, também é adequado para profissionais que desejam estudar desenvolvimento de sistemas de banco de dados.
Agora vamos começar com uma breve introdução. Principalmente quero esclarecer algumas questões, uma é como instalar e usar, e a outra é como desenvolvê-lo em conjunto com PHP.
1. Instalação
1. A plataforma Windows
baixa arquivos no Windows, que na verdade é um programa de linha de comando (endereço de download: sqlite>
# Prompt SQLite. Se você deseja visualizar a ajuda do comando, digite .help No sqlite, todos os comandos do sistema começam com .:
sqlite> .ajuda
.databases Lista nomes e arquivos de bancos de dados anexados
.dump ?TABLE? ... Despeja o banco de dados em formato de texto SQL
.echo ON|OFF Ativa ou desativa o eco do comando
.exit Sai deste programa
.explain ON|OFF Ativa ou desativa o modo de saída adequado para EXPLAIN.
.header(s) ON|OFF Ativa ou desativa a exibição de cabeçalhos
.help Mostrar esta mensagem
.import FILE TABLE Importa dados de FILE para TABLE
.indices TABLE Mostra os nomes de todos os índices em TABLE
.mode MODE ?TABLE? Define o modo de saída onde MODE é um dos seguintes:
csv Valores separados por vírgula
coluna Colunas alinhadas à esquerda (consulte .width)
html Código HTML <tabela>
inserir instruções de inserção SQL para TABLE
linha Um valor por linha
list Valores delimitados por .separator string
tabs Valores separados por tabulação
tcl Elementos da lista TCL
.nullvalue STRING Imprime STRING no lugar de valores NULL
.output FILENAME Envia a saída para FILENAME
.output stdout Envia a saída para a tela
.prompt MAIN CONTINUE Substitua os prompts padrão
.quit Sai deste programa
.ler FILENAME Executa SQL em FILENAME
.schema ?TABLE? Mostra as instruções CREATE
.separator STRING Altera o separador usado pelo modo de saída e .import
.show Mostra os valores atuais para várias configurações
.tables ?PATTERN? Lista nomes de tabelas que correspondem a um padrão LIKE
.timeout MS Tente abrir tabelas bloqueadas por milissegundos MS
.width NUM NUM ... Definir larguras de coluna para modo "coluna"
sqlite>
www.knowsky.com
# Criamos um catlog de banco de dados
sqlite>criar catálogo de tabelas(
...> id inteiro chave primária,
...> número inteiro pid,
...> nome varchar(10) ÚNICO
...>);
sqlite>
# Se a tabela existir, será solicitado:
Erro SQL: o catálogo de tabelas já existe
# Criamos informações de índice
crie o índice catalog_idx no catálogo (id asc);
# Verificamos as informações da tabela para ver quantas tabelas existem
sqlite>.tabela
catálogo aa
# Veja a estrutura da tabela:
sqlite> catálogo .schema
CRIAR TABELA catálogo(
id inteiro chave primária,
número inteiro pid,
nome varchar(10) ÚNICO
);
CREATE INDEX catalog_idx no catálogo (id asc);
#Insira um registro na tabela de dados
sqlite>inserir no catálogo (ppid,nome) valores('001','heiyeluren');
#Nenhum prompt se for bem-sucedido Se a expressão estiver errada, uma mensagem de erro será exibida:
Erro SQL: próximo a "set": erro de sintaxe
# Recupera quantos registros existem
sqlite> selecione contagem(*) do catálogo;
1
# Recupera registros de pesquisa
sqlite> selecione * do catálogo;
1|1|heiyeluren
De qualquer forma, não há problema se você usar SQL padrão para operar. Se não tiver certeza, você pode verificar as informações de ajuda no site oficial. Além disso, deve-se observar que o SQLite não suporta a modificação da estrutura da tabela. Se desejar modificar a estrutura da tabela, você só pode excluir a tabela e recriá-la, portanto, deve-se considerar a escalabilidade ao criar a tabela. Estima-se que esta função será reforçada no futuro.
2. Erro de plataforma Linux/Unix
: ainda não instalei, haha, mas provavelmente é parecido com o Windows, farei essa parte outro dia.
2. Desenvolvimento PHP do SQLite.
PHP 5 não suporta mais Mysql por padrão, mas suporta SQLite por padrão. Isso mostra o quão influente ele é. acima. Atualmente estou usando o PHP versão 5.0.4, que suporta diretamente extensões SQLite. Não explicarei como instalar extensões PHP em detalhes aqui.
Aqui estou falando principalmente sobre o desenvolvimento do SQLite. Atualmente, todas as principais classes de banco de dados em PHP suportam drivers SQLite, incluindo a classe PEAR::DB e a classe ADOdb, portanto, usar o banco de dados para desenvolvimento também é uma boa escolha.
uma questão de simplicidade,
as
seguintes operações são todas executadas no Windows
que ele opera. Existem muitas funções de processamento para SQLite em PHP. Você pode verificar o manual do PHP para obter informações detalhadas.Usamos a função sqlite_open() para abrir um banco de dados sqlite. Ele retorna um recurso de operação com sucesso e retorna falso se falhar. Então, todas as operações subsequentes são executadas neste recurso.
Abaixo presumo que você tenha um arquivo de banco de dados sqlite abc.db no diretório atual do programa PHP. Operamos este arquivo:
<?php
//Abre banco de dados sqlite
$db = @sqlite_open("abc.db");
//Tratamento de exceção
if (!$db) die("Falha na conexão com o Sqlite.n");
//Adiciona um banco de dados chamado foo
@sqlite_query($db, "CREATE TABLE foo (bar varchar(10))");
//Inserir um registro
@sqlite_query($db, "INSERIR EM VALORES foo ('fnord')");
//Recupera todos os registros
$resultado = @sqlite_query($db, 'selecionar barra de foo');
//Imprime os resultados obtidos
print_r(sqlite_fetch_array($resultado))
;
A saída que vemos é:
Array
(
[0] => fundo
[barra] => fundo
)
prova que nosso código foi executado com sucesso. Se não houver entrada, verifique o programa ou se o seu arquivo de banco de dados existe.
Então, com esta operação básica, você pode considerar o uso de operações mais complexas e SQL para operá-la e deixá-la ajudá-lo a gerenciar as informações. Você pode fazer um livro de visitas ou um sistema CMS.
2. Use PHP para criar e operar o banco de dados
. Se você não possui nenhuma ferramenta como sqlite.exe, também pode criar um banco de dados sqlite através de PHP e gerenciá-lo.
Na verdade, o conteúdo do banco de dados criado por meio do programa sqlite.exe está vazio. Na verdade, o arquivo do banco de dados só existe depois que a tabela é criada e os dados são adicionados manualmente, como um teste vazio. db? E operar nele. Isso é completamente possível. A seguir utilizaremos o programa PHP para criar um banco de dados e realizar funções simples de criação de tabelas de dados, inserção de dados e recuperação de dados.
Primeiro vamos dar uma olhada no código: (o código é mais longo, mas mais fácil de entender)
<?php
/**
* Arquivo: sqlite.php
* Função: Processamento de banco de dados sqlite
*Autor: heiyeluren
* Horário: 05/08/2005
*/
define("LN", __LINE__); //Número da linha
define("FL", __FILE__); //Arquivo atual
define("DEBUG", 0);//Switch de depuração
$db_name = "heiyeluren.db";
//Cria um arquivo de banco de dados, o conteúdo do arquivo está vazio
if (!file_exists($db_name)) {
if (!($fp = fopen($db_name, "w+"))) {
saída(código_erro(-1, LN));
}
fclose($fp);
}
//Abre arquivo de banco de dados
if (!($db = sqlite_open($db_name))) {
saída(código_erro(-2,LN));
}
//Gerar estrutura da tabela de dados
if (!sqlite_query($db, "teste DROP TABLE")) {
saída(código_erro(-3, LN));
}
if (!sqlite_query($db, "CREATE TABLE test (id inteiro chave primária,pid inteiro,nome varchar(10) UNIQUE)")) {
saída(código_erro(-3, LN));
}
//Insere um dado
if (!sqlite_query($db, " INSERT INTO test (nome) VALUES ('heiyeluren') ")) {
saída(código_erro(-4, LN));
}
//Recupera os dados
if (!($resultado = sqlite_query($db, "SELECT * FROM teste"))) {
saída(código_erro(-5, LN));
}
//Obtém os dados recuperados e os exibe
while ($array=sqlite_fetch_array($resultado)) {
echo "ID: ". $array[id] ."<br>Nome: ".
}
/* Função código da mensagem de erro */
função error_code($código, $line_num, $debug=DEBUG)
{
if ($código<-6 || $código>-1) {
retornar falso;
}
switch($código) {
case -1: $errmsg = "Erro ao criar arquivo de banco de dados.";
quebrar;
case -2: $errmsg = "Falha ao abrir arquivo de banco de dados sqlite.";
quebrar;
case -3: $errmsg = "Falha na criação da tabela, a tabela já existe.";
quebrar;
case -4: $errmsg = "Falha ao inserir dados.";
quebrar;
case -5: $errmsg = "Falha na consulta de dados do banco de dados.";
quebrar;
case -6: $errmsg = "Falha na busca de dados.";
quebrar;
caso -7: $errmsg = "";
quebrar;
padrão: $errmsg = "Erro desconhecido.";
}
$m = "<b>[ Erro ]</b><br>Arquivo: ".basename(FL) ." <br>Linha: ".LN ."<br>Mensagem: ". ;
se (!$depurar){
($m = $errmsg);
}
retornar $m;
}
?>
Se você operar corretamente, o programa finalmente exibirá:
ID: 1
Nome: heiyeluren
Nosso programa acima inclui funções relativamente completas, incluindo depuração, tratamento de exceções, acesso a banco de dados, etc. É considerado um aplicativo simples. Você também pode expandi-lo se estiver interessado.
* Fim:
Nossas operações básicas estão aqui. Concluirei o conteúdo quando tiver tempo no futuro. Se você estiver interessado, você pode pesquisar. Talvez sua página pessoal precise de um banco de dados tão pequeno para ajudá-lo.
*Documentos de referência:
http://www.donews.net/limodou/archive/2004/03/21/7997.aspx
http://www.linuxsir.org/bbs/showthread.php?p=1213668#post1213668
* Site oficial do recurso SQLite: http://www.sqlite.org
Sintaxe SQL: http://www.sqlite.org/lang.html
Documentação de desenvolvimento: http://www.sqlite.org/docs.html
Perguntas frequentes: http://www.sqlite.org/faq.html
Endereço para download: http://www.sqlite.org/download.html
Autor: heiyeluren
Data: 05/08/2005