SQLite Tipos de dados: Inteiro, Texto, Numérico, Real, Blob
⚡ Resumo Inteligente
SQLite Os tipos de dados funcionam de maneira diferente de outros bancos de dados porque SQLite usa tipos dinâmicosping, armazenando qualquer valor em qualquer coluna. As classes de armazenamento, a afinidade de tipo e os nomes de tipo declarados determinam, em conjunto, como cada valor é fisicamente salvo no disco.

As seções abaixo explicam como SQLite Este livro aborda tipos de dados, começando com as cinco classes de armazenamento, depois a afinidade de tipos e suas regras de atribuição e, finalmente, exemplos práticos de armazenamento de inteiros, números reais, BLOBs, booleanos e datas.
Tipos de dados em SQLite diferem daqueles em outros sistemas de gerenciamento de banco de dados. SQLiteVocê pode declarar tipos de dados normalmente, mas ainda pode armazenar qualquer valor em qualquer tipo de dado.
SQLite é sem tipo. Não existem tipos de dados fixos; você pode armazenar qualquer tipo de dado que desejar em qualquer coluna. Isso é chamado de tipo dinâmico.ping.
Em tipos estáticos, assim como em outros sistemas de gerenciamento de banco de dados, se você declarar uma coluna com o tipo de dados inteiro, só poderá inserir valores do tipo inteiro. No entanto, em tipos dinâmicos, como em SQLiteO tipo da coluna é determinado pelo valor inserido e, em seguida, SQLite armazena esse valor dependendo do seu tipo.
SQLite Classes de Armazenamento
In SQLite Existem diferentes métodos de armazenamento dependendo do tipo de valor; esses diferentes métodos de armazenamento são chamados de classes de armazenamento. SQLite.
A seguir estão as classes de armazenamento disponíveis em SQLite:
- NULL – esta classe de armazenamento é usada para armazenar qualquer valor NULL.
- INTEGER – qualquer valor numérico é armazenado como um valor inteiro com sinal (pode conter valores inteiros positivos e negativos). Os valores INTEGER em SQLite são armazenados em 1, 2, 3, 4, 6 ou 8 bytes de armazenamento, dependendo do valor do número.
- REAIS – Essa classe de armazenamento é usada para armazenar valores de ponto flutuante, que ocupam 8 bytes de espaço.
- TEXTO – Armazena cadeias de texto. Também suporta diferentes codificações, como UTF-8, UTF-16BE ou UTF-16LE.
- BLOB – Utilizado para armazenar arquivos grandes, como imagens ou arquivos de texto. O valor é armazenado como uma matriz de bytes, da mesma forma que o valor de entrada.
SQLite Tipo de afinidade
A afinidade de tipo é o tipo de dado recomendado para armazenamento em uma coluna. No entanto, você ainda pode armazenar qualquer tipo de dado que desejar; esses tipos são recomendados, não obrigatórios.
Esses tipos foram introduzidos em SQLite maximizar a compatibilidade entre SQLite e outro Sistema de gerenciamento de banco de dadoss.
Qualquer coluna declarada em um SQLite A um banco de dados é atribuída uma afinidade de tipo dependendo do tipo de dados declarado. Aqui está a lista de afinidades de tipo em SQLite:
- TEXTO.
- NUMÉRICO.
- INTEIRO.
- REAL.
- BLOBO.
Aqui é como SQLite Determina a afinidade de uma coluna a partir do seu tipo de dados declarado:
- A afinidade INTEGER será atribuída se o tipo declarado contiver o corda “INT”.
- A afinidade TEXT é atribuída se a coluna contiver em seu tipo de dados uma das seguintes strings: “TEXT”, “CHAR” ou “CLOB”. Por exemplo, o tipo VARCHAR terá a afinidade TEXT atribuída.
- A afinidade BLOB será atribuída se a coluna não tiver nenhum tipo especificado ou se o tipo de dados for um BLOB.
- A afinidade REAL é atribuída se o tipo contiver uma das seguintes strings: “DOUB”, “REAL” ou “FLOAT”.
- A afinidade NUMERIC é atribuída para qualquer outro tipo de dados.
Abaixo, encontra-se também uma tabela com alguns exemplos do mapa.ping entre SQLite tipos de dados e suas afinidades determinadas por estas regras:
Exemplos de armazenamento de tipos de dados em SQLite
Armazenando números com SQLite INTEGER
Se alguma coluna tiver um tipo de dados que contenha a palavra "INT", será atribuída a ela uma afinidade de tipo INTEGER. Ela será armazenada em uma classe de armazenamento INTEGER.
Todos os seguintes tipos de dados têm afinidade com o tipo INTEGER:
- INT, INTEIRO, BIGINT.
- INT2, INT4, INT8.
- TINYINT, SMALLINT, MEDIUMINT.
Afinidade do tipo INTEGER em SQLite Pode armazenar qualquer número inteiro atribuído (positivo ou negativo) de 1 byte até um máximo de 8 bytes.
Armazenando números com SQLite REAIS
Números REAIS são números com precisão de ponto flutuante dupla. SQLite Armazena números reais como uma matriz de 8 bytes. Aqui está a lista de tipos de dados em SQLite que você pode usar para armazenar números REAIS:
- REAL.
- DOBRO.
- DUPLA PRECISÃO.
- FLUTUADOR.
Armazenando grandes dados com SQLite BLOB
Só existe uma maneira de armazenar arquivos grandes em um SQLite banco de dados, e isso utiliza o tipo de dados BLOB. Esse tipo de dados é usado para armazenar arquivos grandes, como imagens ou arquivos de qualquer tipo. O arquivo é convertido em uma matriz de bytes e então armazenado com o mesmo tamanho do arquivo de entrada.
Armazenar SQLite Booleanos
SQLite Não possui uma classe de armazenamento BOOLEAN separada. Em vez disso, os valores BOOLEAN são armazenados como INTEIROS, com 0 representando falso e 1 representando verdadeiro.
Armazenar SQLite datas e horas
Você pode declarar datas ou horários em SQLite usando um dos seguintes tipos de dados:
- INFORMAÇÃO
- DATETIME
- TIMESTAMP
- DE ESPERA
Observe que não existe uma classe de armazenamento DATE ou DATETIME separada em SQLiteEm vez disso, quaisquer valores declarados com um dos tipos de dados anteriores são armazenados em uma classe de armazenamento dependendo do formato de data do valor inserido, da seguinte forma:
- TEXTO – se você inserir o valor da data no formato de uma string ISO8601 (“AAAA-MM-DD HH:MM:SS.SSS”).
- REAIS – Se você inserir o valor da data como um número de dia juliano, o número de dias desde o meio-dia em Greenwich em 24 de novembro de 4714 a.C. O valor da data será então armazenado como REAL.
- INTEGER - Como Unix Hora, o número de segundos desde 1970/01/01 00:00:00 UTC.

