Saiba como adicionar ou remover NOT NULL de uma coluna de tabela de banco de dados de modo que aceite, ou não, armazenar valores vazios.
NOT NULL é como ter uma regra que diz: “Você não pode deixar este campo em branco”. É uma maneira de garantir que certas informações importantes sempre estejam presentes e não sejam esquecidas.
NOT NULL é uma restrição que pode ser aplicada a uma coluna em um banco de dados SQL para garantir que essa coluna sempre tenha um valor. Em outras palavras, essa restrição impede que a coluna aceite valores nulos, ou seja, valores vazios ou ausentes.
Se essa coluna for definida como NOT NULL, significa que toda vez que um novo registro for adicionado ao banco de dados, será obrigatório fornecer um valor para o campo dessa coluna.
Para adicionar NOT NULL durante a criação da tabela com SQL
Se você está criando uma tabela agora, nesse momento, poderá aproveitar para deixar a coluna desejada como NOT NULL, ou seja, para não aceitar guardar valores vazios.
Vejamos um exemplo,
CREATE TABLE Pessoa (
id INT NOT NULL,
nome VARCHAR(50) NOT NULL,
idade INT
);
Os campos ID e NOME estão com a propriedade NOT NULL, então, eles deverão ser preenchidos. Caso contrário, será gerado erro.
Adicionar ou remover NOT NULL em uma coluna de tabela existente
No caso de tabelas existentes, podemos usar ALTER TABLE do sql para alterar a coluna de modo que podemos defini-la ou não com NOT NULL.
Para adicionar executamos,
ALTER TABLE nome_da_tabela
ALTER COLUMN nome_da_coluna SET NOT NULL;
Se já está definido e queremos remover, fazemos:
ALTER TABLE nome_da_tabela
ALTER COLUMN nome_da_coluna DROP NOT NULL;
MySQL e MariaDB
No MySQL e MariaDB, a forma de remover a restrição NOT NULL muda:
ALTER TABLE pagamento MODIFY valor INT;
Viu? Bastou apenas alterar a tabela e não colocar NOT NULL. Sim, para remover uma restrição NOT NULL para uma coluna no MySQL ou MariaDB, você usa o comando ALTER TABLE …. MODIFY não digitando o atributo NOT NULL.
Se quiser ver detalhes da tabela basta executar show create table pagamento;
show create table pagamento;
Veja outros posts sobre SQL clicando aqui.
DEFAULT NULL
Você também poderá encontrar a propriedade DEFAULT NULL em uma tabela que foi criada com SQL.
DEFAULT NULL é uma cláusula que pode ser usada ao criar uma coluna em uma tabela no SQL. Quando uma coluna é definida com DEFAULT NULL, isso significa que, por padrão, a coluna será preenchida com um valor nulo (NULL) se nenhum valor for especificado durante a inserção de um novo registro. se nenhum valor for fornecido para essa coluna ao adicionar um novo registro à tabela, o valor padrão será NULL, a menos que seja especificado de outra forma. Isso é útil quando você deseja permitir que uma coluna tenha um valor nulo por padrão, mas ainda assim permitir a inserção de um valor diferente, se necessário.