CXVIII. SQLite

Introdução

Esta é uma extensão para SQLite Embeddable SQL Database Engine. SQLite é uma biblioteca C que implementa um banco de dados SQL embutido. Programas que usam a biblioteca SQLite podem ter acesso a banco de dados SQL sem executar um processo RDBMS separado.

SQLite não é uma biblioteca de cliente usada para conectar com um grande servidor de banco de dados. SQLite é o servidor. A biblioteca SQLite lê e escreve diretamente para e do arquivo do banco de dados no disco.

Nota: Para maiores informações veja o Website do SQLite. (http://sqlite.org/).

Instalação

Leia o arquivo INSTALL, o qual vem com o pacote. Ou use o instalador PEAR com "pear install sqlite". O SQLite em si esta incluído, você não precisa instalar nenhum programa adicional.

Usuários do Windows devem baixar a versão DLL da extensão SQLite aqui: (php_sqlite.dll).

No PHP 5, a extensão SQLite e a engine são distribuidas juntos e é compilado por padrão.

Dependências

Para ter estas funções disponíveis, você deve compilar o PHP com suporte ao SQLite, ou carregar a extenção SQLite dinamicamente do seu php.ini.

Tipos Resource

Exitem dois recursos usados no SQLite. O primeiro é a conexão com o banco de dados e o segundo é o conjunto de resultados.

Constantes Pré-definidas

As funções sqlite_fetch_array() e sqlite_current() usam uma constante para os diferentes tipos de matrizes de resultado:

Tabela 1. Constantes de busca do SQLite

constanteo que faz
SQLITE_ASSOC As colunas são retornadas na matriz tendo o nome do campo como índice.
SQLITE_BOTH As colunas são retornadas na matriz tendo ambos índices, numérico e o nome do campo.
SQLITE_NUM As colunas são retornadas na matriz tendo um índice numérico para os campos. Este índice começa no 0, o primeiro campo no resultado.

Configurações em execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Tabela 2. Opções de configuração do SQLite

NomePadrãoModificavel
sqlite.assoc_case0PHP_INI_ALL
Para maiores detalhes e definição das constantes PHP_INI_* veja ini_set().

Breve descrição das diretivas de configuração.

sqlite.assoc_case int

Aonde usar maiúsculas/minúsculas juntas (0), maiúsculas (1) ou minúsculas (2) nos índices.

Esta opção é útil principalmente quando você necessita compatibilidade com outros sistemas de banco de dados, aonde os nomes das colunas são sempre retornados como maiúsculas ou minúsculas, sem importar como estão os nomes atualmente no banco de dados.

A biblioteca SQLite retorna os nomes das colunas na sua letra atual ( que é o usado ao criar a tabela ). Quando sqlite.assoc_case for 0 a letra atual vai ser preservada. Quando for 1 ou 2, o PHP irá converter para maiúsculas ou minúsculas, respectivamente.

O uso desta opção incorre em uma pequena penalidade de performance, mas é MUITO mais rápido do que você faze-lo no script PHP.

Índice
sqlite_array_query -- Executa uma query ao banco de dados e retorna uma matriz
sqlite_busy_timeout -- Define o tempo de espera quando o banco de dados estiver ocupado
sqlite_changes --  Retorna o número de linhas que foram alteradas pela SQL mais recente.
sqlite_close -- Fecha um banco de dados SQLite que esteja aberto.
sqlite_column -- Retorna uma coluna da linha atual do conjunto de resultados.
sqlite_create_aggregate -- Registra uma função agregada UDF para usar em SQLs
sqlite_create_function --  Registra uma Função Definida pelo Usuário (UDF) para usar em SQL.
sqlite_current -- Retorna a linha atual do resultado como uma matriz.
sqlite_error_string -- Retorna a descrição textual de um código de erro
sqlite_escape_string -- Escapa uma string para ser usada como um parâmetro em uma query
sqlite_exec -- Executes a result-less query against a given database
sqlite_factory -- Opens a SQLite database and returns a SQLiteDatabase object
sqlite_fetch_all -- Fetches all rows from a result set as an array of arrays
sqlite_fetch_array -- Obtém a próxima linha de um resultado como uma matriz.
sqlite_fetch_column_types --  Return an array of column types from a particular table
sqlite_fetch_object -- Fetches the next row from a result set as an object
sqlite_fetch_single -- Retorna o resultado da primeira coluna como string.
sqlite_fetch_string -- Apelido para sqlite_fetch_single()
sqlite_field_name -- Retorna o nome de um campo em particular.
sqlite_has_more -- Retorna quando existem ou não mais linhas disponíveis
sqlite_has_prev -- Returns whether or not a previous row is available
sqlite_key -- Returns the current row index
sqlite_last_error -- Retorna o código de erro para o último erro em um banco de dados
sqlite_last_insert_rowid -- Retorna o rowid da ultima linha inserida.
sqlite_libencoding -- Retorna a codificação da biblioteca SQLite.
sqlite_libversion -- Retorna a versão da biblioteca SQLite.
sqlite_next -- Move para a próxima linha.
sqlite_num_fields -- Retorna o número de campos no conjunto de resultados.
sqlite_num_rows -- Retorna o número de linhas em um conjunto de resultados.
sqlite_open -- Abre um banco de dados SQLite. Irá criar o banco de dados se ele não existir
sqlite_popen --  Abre uma conexão persistente com um banco de dados SQLite. Irá criar um se ele não existir.
sqlite_prev -- Seek to the previous row number of a result set
sqlite_query --  Executa uma query em um banco de dados e retorna um conjunto de resultados.
sqlite_rewind -- Vai para a primeira linha.
sqlite_seek -- Move o ponteiro interno para uma linha em um conjunto de resultados
sqlite_single_query --  Executes a query and returns either an array for one single column or the value of the first row
sqlite_udf_decode_binary -- Decodifica dados binários passados como parâmetros para uma UDF.
sqlite_udf_encode_binary -- Codifica dados binários para utilizar com uma UDF.
sqlite_unbuffered_query -- Executa uma query que não guarda em buffer os resultados
sqlite_valid -- Returns whether more rows are available