Tutorial MySQL

MySQL HOME Introdução ao MySQL MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECIONAR MySQL ONDE MySQL E, OU, NÃO MySQL ORDER BY MySQL INSERT INTO Valores NULL do MySQL ATUALIZAÇÃO DO MySQL MySQL EXCLUIR MySQL LIMIT MySQL MIN e MAX MySQL COUNT, AVG, SUM MySQL LIKE Caracteres curinga do MySQL MySQL IN MySQL ENTRE Aliases do MySQL Junções do MySQL MySQL INNER JOIN MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN Auto-ingresso do MySQL MySQL UNION MySQL GROUP BY MySQL TENDO O MySQL EXISTE MySQL QUALQUER, TODOS MySQL INSERT SELECT CASO MySQL Funções Nulas do MySQL Comentários do MySQL Operadores MySQL

Banco de dados MySQL

MySQL Criar banco de dados MySQL Drop DB MySQL Criar Tabela Tabela de descarte do MySQL Tabela de alteração do MySQL Restrições do MySQL MySQL não nulo MySQL exclusivo Chave primária do MySQL Chave estrangeira do MySQL Verificação do MySQL Padrão do MySQL MySQL Criar Índice Incremento automático do MySQL Datas do MySQL Visualizações do MySQL

Referências do MySQL

Tipos de dados MySQL Funções do MySQL

Exemplos MySQL

Exemplos MySQL Teste do MySQL Exercícios do MySQL

MySQL trabalhando com datas


Datas do MySQL

A parte mais difícil ao trabalhar com datas é ter certeza de que o formato da data que você está tentando inserir corresponde ao formato da coluna de data no banco de dados.

Desde que seus dados contenham apenas a parte da data, suas consultas funcionarão conforme o esperado. No entanto, se uma porção de tempo estiver envolvida, fica mais complicado.


Tipos de dados de data do MySQL

O MySQL vem com os seguintes tipos de dados para armazenar uma data ou um valor de data/hora no banco de dados:

  • DATE - formato AAAA-MM-DD
  • DATETIME - formato: AAAA-MM-DD HH:MI:SS
  • TIMESTAMP - formato: AAAA-MM-DD HH:MI:SS
  • YEAR - formato YYYY ou YY

Nota: O tipo de dados de data é definido para uma coluna quando você cria uma nova tabela em seu banco de dados!


Trabalhando com datas

Observe a tabela a seguir:

Tabela de pedidos

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

Agora queremos selecionar os registros com OrderDate de "2008-11-11" da tabela acima.

Usamos a seguinte SELECTdeclaração:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

O conjunto de resultados ficará assim:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

Nota: Duas datas podem ser facilmente comparadas se não houver nenhum componente de tempo envolvido!

Agora, suponha que a tabela "Pedidos" tenha esta aparência (observe o componente de tempo adicionado na coluna "Data do pedido"):

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

Se usarmos a mesma SELECTdeclaração acima:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

não teremos resultado! Isso ocorre porque a consulta está procurando apenas datas sem porção de tempo.

Dica: Para manter suas consultas simples e fáceis de manter, não use componentes de tempo em suas datas, a menos que seja necessário!