Data de inserção do MySQL

Resumo : neste tutorial você aprenderá como inserir valores de data em uma tabela do banco de dados MySQL.

O DATEtipo de dados permite armazenar os valores de data. A seguir mostramos como definir uma coluna com o DATEtipo de dados:

column_name DATELinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Para inserir um valor de data em uma coluna com o DATEtipo de dados, use o seguinte formato de data:

'YYYY-MM-DD'Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste formato:

  • YYYYsão quatro dígitos que representam o ano, por exemplo, 2023
  • MMsão dois dígitos que representam o mês, por exemplo, 10
  • DD são dois dígitos que representam o dia, por exemplo, 30.

O intervalo válido para os DATEvalores '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 DATEcoluna.

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 eventstabela possui três colunas:

Segundo, insira uma nova linha na eventstabela:

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 eventstabela com a data do evento '2023-10-29'.

Terceiro, consulte os dados da eventstabela:

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 ‘ YYYYMMDD‘.

Se você tentar inserir um valor de data inválido em uma DATEcoluna, 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 1Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste exemplo, tentamos inserir um valor de data inválido '2023-10-39'na event_datecoluna, 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_DATEfunçã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_DATEfunção retorna a data atual do servidor de banco de dados MySQL, que é então usada na INSERTinstruçã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_DATEpara 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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *