Sqlite não restrição nula

Sqlite não restrição nula

Diz -se que as restrições são limitações ou restrições aplicadas a colunas específicas de uma tabela. Às vezes, refere -se aos privilégios extras que são atribuídos às colunas específicas. Uma dessas restrições não são restrições nulas no banco de dados SQL. Qualquer que seja a coluna especificada com a restrição não nula, essa coluna não pode ser deixada sem um valor. Assim, decidimos cobrir o uso da restrição não nula no banco de dados SQLite ao implementar este artigo no Ubuntu 20.04. Antes de ir para a ilustração de usar a restrição não nula no banco de dados SQLite, temos que abrir o terminal Ubuntu através da instrução Ctrl+Alt+T atualizar e atualizar nosso sistema usando a instrução mostrada do abastecimento.

Certifique-se de ter a biblioteca C sqlite de SQL já instalada no seu sistema Linux. Depois disso, você precisa iniciá -lo dentro do terminal do shell com o uso da palavra -chave "sqlite3". A concha estática será aberta dentro da concha do Ubuntu 20.04 para o banco de dados SQLite.

Vamos listar todas as tabelas encontradas no banco de dados SQLite. Assim, estaremos tentando o “.tabelas ”Instruções para fazer isso. O banco de dados SQLITE3 ainda não contém nenhum banco de dados (eu.e. de acordo com ".Tabelas ”Instrução.)

As restrições só podem ser aplicadas às colunas de uma tabela. Se não tivermos nenhuma tabela, não temos colunas. Portanto, nenhuma restrição. Portanto, temos que criar uma tabela no banco de dados em que podemos aplicar a restrição não nula. Portanto, o banco de dados nos permite usar a instrução Create Table para criar uma tabela com o nome "teste". Esta tabela conterá um total de 2 colunas "id" e "nome". O ID da coluna será do tipo inteiro e será usado como chave primária para a tabela. A coluna "nome" será do tipo de texto e não deve ser nula de acordo com o uso da restrição não nula especificada no momento da criação de uma tabela. Agora, temos uma nova tabela "teste" no banco de dados de acordo com o ".Tabelas ”Instrução.

O uso de instruções selecionadas para buscar os registros de uma tabela de teste está mostrando que a tabela está vazia agora. Então, precisamos adicionar alguns registros a ele primeiro.

>> selecione * no teste;

\

Usaremos a inserção do SQL na instrução seguida pelo nome de uma tabela e sua coluna para inserir os registros de dados em suas colunas. Você precisa adicionar registros após a palavra -chave "valores" seguida pelos colchetes simples que mantêm um total de 10 registros. Nenhum registro foi especificado NULL para a coluna "Nome", na medida do apresentado abaixo.

Insira no teste (id, nome) valores (1, "George"), (2, "Bella"), (3, "Paul"), (4, "Johny"),
(5, "Ketty"), (6, "Angelina"), (7, "Nina"), (8, "Dilraba"), (9, "Tom"), (10, "Tyalor");
Inserir no teste (id, nome) valores (11, ""), (12, "");
Inserir no teste (id, nome) valores (11), (12);
Inserir no teste (id, nome) valores (13, nulo), (14, nulo);

Depois de inserir os registros na tabela de teste, tentamos a instrução SELECT para exibir todos os dados em nosso shell sqlite. Ele exibiu 10 registros para a coluna ID e Name.

>> selecione * no teste;

Vamos ver como a restrição não nula reage aos espaços e a palavra -chave nula enquanto inseriu dados na coluna “Nome” da tabela de teste. Então, usamos o valor vazio "" O local da coluna "nome" dentro dos valores parte da inserção na instrução. O registro foi adicionado com sucesso ao teste da tabela. Depois de usar a instrução SELECT no shell, descobrimos que ele não exibiu nada para a coluna "nome" nos registros 11 e 12 e ocupando espaço como um valor não nulo.

Se você tentar a inserção na instrução com o uso de nomes de colunas que contêm uma restrição não nula e não adicionar o valor para uma coluna específica, ele apresentará um erro: “1 valores para 2 colunas”, conforme apresentado abaixo. Para remover este erro, você precisa colocar um valor para a coluna "nome" e não deixá -lo vazio.

Vamos colocar a palavra -chave nula dentro dos valores parte da inserção na instrução para adicionar os registros nulos para a coluna "nome" que contém a restrição não nula. A execução desta instrução com a palavra -chave nula está lançando um erro “Não é falha na restrição nula: teste.Nome". Isso significa que não podemos colocar nulo como um valor na coluna "nome" devido à sua restrição de restrição não nula.

Vamos dar uma olhada em outro exemplo. Então, criamos um novo ator de tabela com as três colunas ID, nome e idade através da instrução Create Table. Nenhuma das colunas contém uma restrição não nula.

>> Crie ator de tabela (Id int Primary Key, Nome Text, Age Int);

No momento, o ator da tabela está vazio de acordo com a instrução Selecione “*” abaixo.

>> selecione * do ator;

Temos que colocar alguns registros na tabela "ator" primeiro com a inserção na instrução. Então, adicionamos 5 registros para todas as três colunas: id, nome e idade.

>> Insira no ator (id, nome, idade) valores (1, "Julia", 49), (2, "Angelina", 49),
(3, "Leonardo", 50), (4, "Tom", 55);

Tentamos a instrução SELECT para buscar todos os registros recém -adicionados de uma tabela de "ator". Um total de 5 registros foram exibidos em nossa tela sem valores nulos.

>> selecione * do ator;

Vamos adicionar um novo registro dentro da tabela de ator que contém um valor nulo usando a inserção na instrução. Então, tentamos as instruções para todas as 3 colunas e adicionamos um valor nulo para a coluna “Age”. O registro foi inserido com sucesso na tabela e não deu nenhum erro porque não definimos nenhuma restrição não nula para nenhuma das colunas de uma tabela "ator". O uso de instruções selecionadas para o ator de tabela exibiu todos os 5 primeiros registros adicionados e o 6º recorde com um valor nulo em sua coluna "Age".

>> Insira no ator (id, nome, idade) valores (1, "ema watson", nulo)
> Selecione * do ator;

Conclusão:

Então, isso foi sobre o uso de restrições não nulas para colunas específicas de tabelas SQLITE. Demonstramos como o banco de dados reage a não colocar os valores nas colunas com restrições não nulas e como podemos usar o valor nulo com os valores da coluna.