O conceito do valor NULL é uma fonte comum
        de confusão para os iniciantes em SQL, que frequentemente pensa
        que NULL é a mesma coisa que uma string
        vazia "". Este não é o caso! Por exemplo,
        as seguintes intruções são completamente diferentes:
      
mysql>INSERT INTO minha_tabela (telefone) VALUES (NULL);mysql>INSERT INTO minha_tabela (telefone) VALUES ("");
        Ambas as intruções inserem um valor na coluna
        telefone, mas a primeira insere um valor
        NULL e a segunda insere uma string vazia. O
        significado do primeiro pode ser considerado como ``telefone
        não é conhecido'' e o significado da segunda pode ser
        considerado como ``ela não tem telefone''.
      
        Em SQL, o valor NULL é sempre falso em
        coparação a qualquer outro valor, mesmo
        NULL. Uma expressão que contém
        NULL sempre produz um valor
        NULL a menos que seja indicado na
        documentação para os operadores e funções involvidos na
        expressão. Todas as colunas no seguinte exemplo retornam
        NULL:
      
mysql> SELECT NULL,1+NULL,CONCAT('Invisible',NULL);
        Se você quiser procurar por uma coluna cujo valor é
        NULL, você nãp pode usar o teste
        =NULL. A seguinte instrução não retorna
        nenhuma linha, pois expr = NULL é FALSO,
        para qualquer expressão:
      
mysql> SELECT * FROM minha_tabala WHERE phone = NULL;
        Para procurar por valores NULL, você deve
        usar o teste IS NULL. A seguir mostramos como
        encontrar o némuro de telefone NULL e o
        número de telefone vazio:
      
mysql>SELECT * FROM minha_tabela WHERE telefone IS NULL;mysql>SELECT * FROM minha_tabela WHERE telefone = "";
        Note que você pode adicionar um índice a uma coluna que tenha
        valores NULL apenas se você estiver usando o
        MySQL versão 3.23.2 ou mais novo e estiver usando tipos de
        tabelas NyISAM, InnoDB ou
        BDB. Em versões anteriores e com outros
        tipos de tabelas, você deve declara tais colunas como
        NOT NULL. Isto também significa que você
        então não poderá inserir NULL em uma
        coluna indexada.
      
        Ao ler dados com LOAD DATA INFILE, colunas
        vazias são atualizadas com ''. Se você
        quiser um valor NULL em uma coluna, você
        deve usar \N no arquivo texto. A palavra
        literal 'NULL' também pode ser usada em
        algumas circunstâncias. See Secção 6.4.8, “Sintaxe LOAD DATA INFILE”.
      
        Ao usar ORDER BY, valores
        NULL são apresentados primeiro, ou por
        último se você especificar DESC para
        armazenar em ordem decrescente. Exceção: Nos MySQL 4.0.2 até
        4.0.10, se você armazenar em ordem decrescente usando
        DESC, valores NULL são
        apresentados por último.
      
        Ao usar GROUP BY, todos os valores
        NULL são considerados iguais.
      
        Funções de agrupamento (resumo) como
        COUNT(), MIN() e
        SUM() ignoram valores
        NULL. A exceção a isto é
        COUNT(*), que conta linhas e não colunas
        individuais. Por exemplo, a seguinte instrução deve produzir
        duas contagens. A primeira é a contagem do número de linhas na
        tabela e a segunda é a contagem do número de valores
        diferentes de NULL na coluna
        age:
      
mysql> SELECT COUNT(*), COUNT(age) FROM person;
        Para ajudar com o tratamento de NULL, você
        pode usar os operadores IS NULL e IS
        NOT NULL e a função IFNULL().
      
        Para alguns tipos de colunas, valores NULL
        são tratados de forma especial, Se você inserir
        NULL na primeira coluna
        TIMESTAMP de uma tabela, a data e hora atual
        serão inseridos. Se você isere NULL em uma
        coluna AUTO_INCREMENT, o próximo número na
        sequência é inserida.
      
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

