Resumo : neste tutorial você aprenderá como inserir valores de data em uma tabela do banco de dados MySQL.
O DATE
tipo de dados permite armazenar os valores de data. A seguir mostramos como definir uma coluna com o DATE
tipo de dados:
column_name DATE
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Para inserir um valor de data em uma coluna com o DATE
tipo de dados, use o seguinte formato de data:
'YYYY-MM-DD'
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste formato:
YYYY
são quatro dígitos que representam o ano, por exemplo, 2023MM
são dois dígitos que representam o mês, por exemplo, 10DD
são dois dígitos que representam o dia, por exemplo, 30.
O intervalo válido para os DATE
valores '1000-01-01'
é '999-12-31'
. Se você tentar inserir um valor de data inválido em uma coluna de data, o
Tomaremos alguns exemplos de inserção de valores de data na DATE
coluna.
Inserindo um valor de data em uma coluna de data
Primeiro, crie uma tabela chamada sales_orders
:
CREATE TABLE events(
id INT AUTO_INCREMENT PRIMARY KEY,
event_name VARCHAR(255) NOT NULL,
event_date DATE NOT NULL
);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A events
tabela possui três colunas:
id
é a coluna de chave primária de incremento automático que identifica exclusivamente cada evento.event_name
coluna armazena o nome do evento.event_date
coluna armazena a data do evento.
Segundo, insira uma nova linha na events
tabela:
INSERT INTO events(event_name, event_date)
VALUES('MySQL Conference','2023-10-29');
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta instrução, inserimos um novo evento na events
tabela com a data do evento '2023-10-29'
.
Terceiro, consulte os dados da events
tabela:
SELECT event_name, event_date
FROM events;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+------------------+------------+
| event_name | event_date |
+------------------+------------+
| MySQL Conference | 2023-10-29 |
+------------------+------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A saída mostra que o cliente mysql exibe o valor da data como ‘ YYYY
– MM
– DD
‘.
Se você tentar inserir um valor de data inválido em uma DATE
coluna, o MySQL emitirá um erro. Por exemplo:
INSERT INTO events(event_name, event_date)
VALUES('MySQL Database Design Workshop','2023-10-39');
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Erro:
ERROR 1292 (22007): Incorrect date value: '2023-10-39' for column 'event_date' at row 1
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo, tentamos inserir um valor de data inválido '2023-10-39'
na event_date
coluna, resultando em um erro.
Inserindo a data atual
Para inserir a data atual do servidor de banco de dados em uma coluna de data, você usa a CURRENT_DATE
função. Por exemplo:
INSERT INTO events(event_name, event_date)
VALUES('MySQL Replication Workshop', CURRENT_DATE);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo, a CURRENT_DATE
função retorna a data atual do servidor de banco de dados MySQL, que é então usada na INSERT
instrução para inserir o valor da data atual na tabela de eventos.
Para inserir a data UTC atual em uma coluna de data, você usa a UTC_DATE()
função para obter a data atual em UTC e depois insere-a. Por exemplo:
INSERT INTO events(event_name, event_date)
VALUES('MySQL Day in USA', UTC_DATE());
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Exemplo de inserção de uma string de data
Se você tiver uma string de data que não esteja no 'YYYY-MM-DD'
formato e quiser inseri-la em uma coluna de data, poderá usar a STR_TO_DATE()
função para convertê-la primeiro em uma data. Por exemplo:
INSERT INTO events (event_name, event_date)
VALUES ('MySQL Innovate', STR_TO_DATE('10/29/2023', '%m/%d/%Y'));
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo, o valor da data está no formato MM/DD/YYYY
, que não é o que o MySQL espera.
Portanto, usamos a STR_TO_DATE()
função para converter essa string em um valor de data e inseri-la na coluna de data.
Resumo
- Use o valor de data no formato
'YYYY-MM-DD'
ao inseri-lo em uma coluna de data. - Use
CURRENT_DATE
para inserir a data atual do servidor de banco de dados MySQL em uma coluna de data. - Use a
UTC_DATE()
função para inserir a data atual em UTC em uma coluna de data. - Use a
STR_TO_DATE()
função para converter uma sequência de data em uma data antes de inseri-la em uma coluna de data.