🧚 Écoutez ! Beekeeper Studio est une interface de base de données rapide, moderne et open source Télécharger
July 2, 2025 Par Matthew Rathbone

Travailler avec les dates est une exigence courante dans la gestion des bases de données, en particulier lors de l’utilisation de SQL. On doit souvent insérer des valeurs de date dans sa base de données, que ce soit pour la tenue des registres ou pour manipuler des données basées sur des informations liées aux dates. Dans cet article, nous explorerons différentes techniques pour insérer des dates dans les bases de données SQL, offrant des solutions pour divers besoins.

Tout au long de ce guide, vous trouverez des exercices SQL interactifs qui vous permettent de pratiquer les insertions de dates directement dans votre navigateur—aucune configuration de base de données requise. Écrivez des requêtes, obtenez un retour instantané et gagnez en confiance dans la gestion des dates en SQL.

Divers systèmes de gestion de bases de données implémentent SQL avec leur propre syntaxe spécialisée et des fonctions pour gérer les dates. Néanmoins, il existe certaines pratiques standard qui peuvent être suivies pour assurer le succès lors de l’insertion de dates en SQL. Nous allons explorer les méthodes courantes et vous aider à choisir celle qui convient le mieux à votre situation.

Comprendre les Types de Données Date et Heure en SQL

Lors du travail avec SQL, il est essentiel d’avoir une compréhension des différents types de données, en particulier lorsqu’il s’agit de date et d’heure. Dans cette section, nous explorerons divers types de données de date et d’heure utilisés en SQL et comment les insérer efficacement dans votre base de données.

Il existe plusieurs types de données courants de date et d’heure utilisés dans les bases de données SQL. Ceux-ci incluent :

  • DATE : Ce type stocke uniquement la date au format ‘YYYY-MM-DD’.
  • TIME : Stocke les valeurs de temps au format ‘HH:MM:SS’.
  • DATETIME : Une combinaison de DATE et TIME, utilisant le format ‘YYYY-MM-DD HH:MM:SS’.
  • TIMESTAMP : Fonctionne de manière similaire à DATETIME mais est affecté par les paramètres de fuseau horaire.
  • YEAR : Stocke l’année comme un entier, soit au format 2 chiffres ou 4 chiffres.

Chaque système de base de données peut avoir des types de données de date et d’heure supplémentaires et spécifiques ou de légères variations. Cependant, ces types mentionnés sont fréquemment utilisés dans les bases de données SQL.

Lors de l’insertion de valeurs de date et d’heure en SQL, le formatage approprié est crucial. Voici un bref aperçu des exigences de formatage pour chaque type de données :

Type de Données Exemple de Format
DATE ‘2021-12-01’
TIME ‘14:30:15’
DATETIME ‘2021-12-01 14:30:15’
TIMESTAMP ‘2021-12-01 14:30:15’
YEAR 2021 (4 chiffres) ou 21 (2 chiffres)

Pour insérer une date en sql ou des valeurs de temps dans une base de données, la commande SQL typique comprend l’instruction INSERT INTO, spécifiant à la fois le nom de la table et la colonne où la valeur sera ajoutée. Avec le mot-clé VALUES, les données de date et/ou d’heure requises sont insérées.

Méthodes pour Insérer des Dates en SQL

Dans les bases de données SQL, les dates sont couramment stockées sous forme de formats standardisés. Cette section explorera quelques méthodes appropriées pour insérer des dates dans les requêtes SQL. En se concentrant sur ces pratiques, les développeurs peuvent s’assurer que leurs applications fonctionnent sans problème et que les données restent bien organisées.

Un aspect significatif de l’insertion de dates en SQL inclut la compréhension des types de données utilisés pour les dates. Les types de données les plus fréquemment utilisés sont :

  • DATE : Stocke uniquement la date (pas d’heure)
  • TIME : Stocke uniquement l’heure (pas de date)
  • DATETIME : Stocke à la fois la date et l’heure
  • TIMESTAMP : Similaire à DATETIME, mais a un support de fuseau horaire

1. Insertion de Dates Directement

Pour insérer une valeur de date directement dans la table, utilisez le format de date prescrit par le système de gestion de base de données :

INSERT INTO NomTable (ColonneDate) VALUES ('YYYY-MM-DD');

Par exemple,

INSERT INTO Orders (OrderDate) VALUES ('2021-06-15');

Essayez vous-même :

[[ expanded ? '▼' : '▶' ]]

[[ testData.title ]]

Insérez une nouvelle ligne dans la table appointments avec id = 4, patient_name = ‘Sarah Wilson’, et appointment_date = ‘2024-08-20’.

Exemple Interactif ✓ Terminé
Colonnes attendues : [[ col ]]
ℹ️ Cet exercice réinitialise la base de données à chaque exécution. Écrivez votre solution complète en une seule soumission.
[[ i18n.correct ]] [[ validationResult ? i18n.all_checks_passed : i18n.query_success ]]
[[ detail.message ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.not_quite_right ]] [[ patternError ]] [[ validationResult.error ]] [[ i18n.results_dont_match ]]
[[ detail.passed ? '✓' : '✗' ]] [[ detail.message ]]
[[ i18n.your_results ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.expected_results ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.sql_error ]]
[[ error ]]
💡 [[ i18n.hint_label ]] [[ testData.hint ]]
📊 [[ i18n.expected_result_label ]]
[[ col ]]
[[ formatCell(cell) ]]
✨ [[ i18n.solution_label ]]
[[ testData.solution ]]
Tables Disponibles
[[ table.name ]]
[[ col ]]
[[ formatCell(cell) ]]

2. Utilisation des Fonctions CURRENT_DATE ou CURRENT_TIMESTAMP

Ces fonctions insèrent automatiquement la date ou l’horodatage actuel dans la table :

INSERT INTO NomTable (ColonneDate) VALUES (CURRENT_DATE);
INSERT INTO NomTable (ColonneTimestamp) VALUES (CURRENT_TIMESTAMP);

En SQLite, vous pouvez utiliser date('now') ou datetime('now') :

INSERT INTO NomTable (ColonneDate) VALUES (date('now'));
INSERT INTO NomTable (ColonneDatetime) VALUES (datetime('now'));

Essayez vous-même :

[[ expanded ? '▼' : '▶' ]]

[[ testData.title ]]

Insérez une nouvelle ligne dans la table activity_log avec id = 4, action = ‘system_check’, et log_date défini sur ‘2024-08-03’ en utilisant le mot-clé CURRENT_DATE (qui dans cet environnement de test équivaut à ‘2024-08-03’). Ensuite, sélectionnez toutes les lignes ordonnées par id.

Exemple Interactif ✓ Terminé
Colonnes attendues : [[ col ]]
ℹ️ Cet exercice réinitialise la base de données à chaque exécution. Écrivez votre solution complète en une seule soumission.
[[ i18n.correct ]] [[ validationResult ? i18n.all_checks_passed : i18n.query_success ]]
[[ detail.message ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.not_quite_right ]] [[ patternError ]] [[ validationResult.error ]] [[ i18n.results_dont_match ]]
[[ detail.passed ? '✓' : '✗' ]] [[ detail.message ]]
[[ i18n.your_results ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.expected_results ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.sql_error ]]
[[ error ]]
💡 [[ i18n.hint_label ]] [[ testData.hint ]]
📊 [[ i18n.expected_result_label ]]
[[ col ]]
[[ formatCell(cell) ]]
✨ [[ i18n.solution_label ]]
[[ testData.solution ]]
Tables Disponibles
[[ table.name ]]
[[ col ]]
[[ formatCell(cell) ]]

3. Utilisation de Fonctions Spécifiques à la Base de Données

Des bases de données comme SQL Server et Oracle ont des fonctions spécifiques qui peuvent être utilisées pour insérer des dates. Quelques exemples sont :

  • SQL Server : GETDATE() ou SYSDATETIME()
  • Oracle : SYSDATE ou CURRENT_DATE
  • PostgreSQL : NOW(), CURRENT_DATE, ou CURRENT_TIME
-- Exemple SQL Server :
INSERT INTO NomTable (ColonneDatetime) VALUES (SYSDATETIME());

-- Exemple Oracle :
INSERT INTO NomTable (ColonneDate) VALUES (SYSDATE);

4. Conversion de Chaînes en Dates

Parfois, les développeurs doivent convertir des chaînes de date en formats de date appropriés avant de les insérer dans la base de données. Les systèmes de base de données fournissent généralement des fonctions, telles que CONVERT() ou TO_DATE(), qui peuvent être utilisées :

-- Exemple SQL Server :
INSERT INTO NomTable (ColonneDate) VALUES (CONVERT(date, '2021/06/15', 111));

-- Exemple Oracle :
INSERT INTO NomTable (ColonneDate) VALUES (TO_DATE('15-JUN-2021', 'DD-MON-YYYY'));

Utilisation de la Fonction NOW()

Incorporer une date dans les requêtes SQL peut sembler difficile au début, mais la fonction NOW() simplifie considérablement le processus. Cette fonction aide les utilisateurs à insérer la date et l’heure actuelles dans les bases de données SQL. En utilisant NOW(), ils peuvent facilement ajouter des dates à leurs enregistrements de base de données.

En tant que fonction SQL, NOW() renvoie la date et l’heure actuelles, généralement formatées comme YYYY-MM-DD HH:MM:SS. Un usage courant de cette fonction est lorsque des commandes sql insérer date sont nécessaires pour enregistrer un horodatage pour des événements ou des actions spécifiques. La syntaxe pour utiliser NOW() pour insérer la date et l’heure actuelles dans une base de données est simple :

INSERT INTO nom_table (colonne1, colonne2, colonne_date)
VALUES ('valeur1', 'valeur2', NOW());

Dans cet exemple, la date et l’heure sont insérées dans la colonne_date. Par conséquent, la date et l’heure actuelles seront enregistrées en utilisant la fonction NOW(), et les autres valeurs seront affectées à leurs colonnes respectives.

Pour contrôler le retour de seulement la date ou l’heure actuelle, les fonctions suivantes peuvent être utilisées :

  • CURDATE() : renvoie la date actuelle au format YYYY-MM-DD.
  • CURTIME() : renvoie l’heure actuelle au format HH:MM:SS.

Insertion de Valeurs DATETIME

Lorsque vous devez stocker à la fois la date et l’heure ensemble, vous utiliserez le type de données DATETIME ou TIMESTAMP. C’est essentiel pour suivre les moments exacts où les événements se produisent.

INSERT INTO events (event_name, event_datetime)
VALUES ('Conference Start', '2024-09-15 14:30:00');

Essayez vous-même :

[[ expanded ? '▼' : '▶' ]]

[[ testData.title ]]

Insérez une nouvelle ligne dans la table events avec id = 3, event_name = ‘Team Meeting’, et event_datetime = ‘2024-09-15 14:30:00’. Ensuite, sélectionnez toutes les lignes ordonnées par id.

Exemple Interactif ✓ Terminé
Colonnes attendues : [[ col ]]
ℹ️ Cet exercice réinitialise la base de données à chaque exécution. Écrivez votre solution complète en une seule soumission.
[[ i18n.correct ]] [[ validationResult ? i18n.all_checks_passed : i18n.query_success ]]
[[ detail.message ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.not_quite_right ]] [[ patternError ]] [[ validationResult.error ]] [[ i18n.results_dont_match ]]
[[ detail.passed ? '✓' : '✗' ]] [[ detail.message ]]
[[ i18n.your_results ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.expected_results ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.sql_error ]]
[[ error ]]
💡 [[ i18n.hint_label ]] [[ testData.hint ]]
📊 [[ i18n.expected_result_label ]]
[[ col ]]
[[ formatCell(cell) ]]
✨ [[ i18n.solution_label ]]
[[ testData.solution ]]
Tables Disponibles
[[ table.name ]]
[[ col ]]
[[ formatCell(cell) ]]

Exploitation des Fonctions CURDATE() et CURTIME()

L’une des compétences les plus essentielles dans la gestion des bases de données est de savoir comment insérer des valeurs de date. En SQL, deux fonctions utiles pour travailler avec les valeurs de date et d’heure sont CURDATE() et CURTIME(). Cette section se concentrera sur la façon d’exploiter ces fonctions lors de l’insertion de valeurs de date dans votre base de données.

L’utilisation de la fonction CURDATE() vous permet d’insérer la date actuelle dans une table. Cette fonction renvoie la date actuelle au format ‘YYYY-MM-DD’, qui est compatible avec les types de données DATE. Voici un exemple d’utilisation de CURDATE() pour insérer la date actuelle dans une table nommée sales :

INSERT INTO sales (sale_date, product_id, quantity)
VALUES (CURDATE(), 1234, 10);

Remarquez comment la fonction CURDATE() vous permet de sauter la saisie manuelle de la date tout en vous assurant qu’elle est à jour. Cela peut économiser considérablement du temps et réduire le risque d’erreur humaine.

D’autre part, la fonction CURTIME() est utilisée pour insérer l’heure actuelle au format ‘HH:MM:SS’. Comme CURDATE(), elle est précieuse pour enregistrer automatiquement l’heure actuelle, ce qui convient aux types de données TIME ou DATETIME.

Tant CURDATE() que CURTIME() ont des variations qui répondent à différentes situations. Voici un aperçu rapide :

  • CURRENT_DATE() : Une alternative à CURDATE() qui renvoie également la date actuelle.
  • CURRENT_TIME() : Équivalent à CURTIME() et fournit l’heure actuelle.
  • NOW() ou CURRENT_TIMESTAMP() : Renvoie à la fois la date et l’heure au format ‘YYYY-MM-DD HH:MM:SS’, idéal pour les types de données DATETIME.

Insertion de Formats de Date Personnalisés avec STR_TO_DATE()

Gérer les formats de date en SQL peut être un peu délicat, mais STR_TO_DATE() vient à la rescousse lorsque vous devez insérer un format de date personnalisé. Cette fonction puissante vous permet d’interpréter une date dans un format donné et de la stocker dans le format de date SQL approprié.

Les bases de données SQL comme MySQL utilisent par défaut le format standard ‘YYYY-MM-DD’, mais que faire si vous avez des données comme ‘25 December 2021’ ? Avec STR_TO_DATE(), vous pouvez convertir des dates avec un format personnalisé au format compatible SQL.

Voici comment cela fonctionne :

  1. D’abord, spécifiez la date dans un format de chaîne. Par exemple, '25 December 2021'.
  2. Ensuite, définissez le format de votre date originale en utilisant des spécificateurs de format de date. Dans ce cas, %d %M %Y.

Rassemblez le tout dans une instruction SQL INSERT, et vous obtenez :

INSERT INTO table_exemple (colonne_date) VALUES (STR_TO_DATE('25 December 2021', '%d %M %Y'));

Quelques spécificateurs de format importants incluent :

  • %d : Jour du mois (00-31)
  • %m : Mois, numérique (00-12)
  • %M : Mois, nom abrégé (Jan, Feb, Mar, etc.)
  • %Y : Année, avec siècle (ex., 2021)
  • %y : Année, sans siècle (format 2 chiffres, ex., 21)
  • %H : Heure, format 24 heures (00-23)
  • %i : Minutes (00-59)

Arithmétique des Dates avec DATE_ADD() et DATE_SUB()

Manipuler les dates et les heures est une compétence essentielle lors du travail avec les bases de données SQL. DATE_ADD() et DATE_SUB() sont deux fonctions importantes pour effectuer des opérations arithmétiques impliquant des dates. Grâce à ces fonctions, les développeurs peuvent réussir à insérer des données de date et d’heure avec des valeurs calculées.

En utilisant la fonction DATE_ADD(), on peut facilement ajouter un intervalle spécifique à la date donnée. De même, la fonction DATE_SUB() est conçue pour soustraire les intervalles spécifiés. Voici la syntaxe pour les deux fonctions :

DATE_ADD(date, INTERVAL valeur unité)
DATE_SUB(date, INTERVAL valeur unité)

En SQLite, vous pouvez utiliser la fonction date() avec des modificateurs :

-- Ajouter 7 jours à une date
date('2024-01-01', '+7 days')

-- Soustraire 1 mois d'une date
date('2024-01-01', '-1 month')

Essayez vous-même :

[[ expanded ? '▼' : '▶' ]]

[[ testData.title ]]

Insérez une nouvelle ligne dans la table reminders avec id = 3, task = ‘Follow up’, et remind_date défini à 7 jours à partir de ‘2024-10-01’ (devrait être ‘2024-10-08’). Utilisez la fonction date de SQLite avec le modificateur ‘+7 days’. Ensuite, sélectionnez toutes les lignes ordonnées par id.

Exemple Interactif ✓ Terminé
Colonnes attendues : [[ col ]]
ℹ️ Cet exercice réinitialise la base de données à chaque exécution. Écrivez votre solution complète en une seule soumission.
[[ i18n.correct ]] [[ validationResult ? i18n.all_checks_passed : i18n.query_success ]]
[[ detail.message ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.not_quite_right ]] [[ patternError ]] [[ validationResult.error ]] [[ i18n.results_dont_match ]]
[[ detail.passed ? '✓' : '✗' ]] [[ detail.message ]]
[[ i18n.your_results ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.expected_results ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.sql_error ]]
[[ error ]]
💡 [[ i18n.hint_label ]] [[ testData.hint ]]
📊 [[ i18n.expected_result_label ]]
[[ col ]]
[[ formatCell(cell) ]]
✨ [[ i18n.solution_label ]]
[[ testData.solution ]]
Tables Disponibles
[[ table.name ]]
[[ col ]]
[[ formatCell(cell) ]]

Gestion des Fuseaux Horaires avec CONVERT_TZ()

Un aspect crucial dans la gestion des données de date et d’heure en SQL est la gestion des fuseaux horaires. La fonction CONVERT_TZ() dans MySQL est un outil puissant pour résoudre ce problème. Elle joue un rôle significatif lors de l’insertion de dates ou de la gestion de données provenant de plusieurs fuseaux horaires.

La fonction CONVERT_TZ() utilise trois arguments :

  1. La valeur datetime ou timestamp à convertir.
  2. L’identifiant du fuseau horaire d’origine.
  3. L’identifiant du fuseau horaire cible.

Voici un exemple de la façon dont la fonction CONVERT_TZ() peut être utilisée dans une opération sql insérer date :

INSERT INTO events (event_name, event_time)
VALUES ("Sample Event", CONVERT_TZ("2022-06-01 12:00:00", "UTC", "America/New_York"));

Assurer l’Intégrité des Données avec DEFAULTS et CONSTRAINTS

Lors du travail avec des opérations SQL insérer date, il est crucial d’assurer l’intégrité des données en utilisant DEFAULTS et CONSTRAINTS. Ces outils aident à maintenir des données cohérentes et précises dans une base de données, en prévenant les erreurs indésirables de saisie de données et en fournissant une base fiable pour les applications.

Définir des valeurs DEFAULT pour les champs de date peut économiser du temps et réduire les erreurs de saisie utilisateur. Un DEFAULT peut être défini dans le schéma, et si aucune valeur n’est fournie lors d’une opération INSERT, il remplira automatiquement le champ de date. Par exemple, lors de la création d’une table, DEFAULT peut être défini comme suit :

CREATE TABLE orders (
  order_id INT,
  customer_id INT,
  order_date DATE DEFAULT CURRENT_DATE
);

Dans cet exemple, si aucune date n’est fournie pour le champ order_date, il sera automatiquement rempli avec la date actuelle.

En plus de DEFAULT, les CONSTRAINTS jouent un rôle vital dans l’assurance de l’intégrité des données en imposant des conditions spécifiques :

  • NOT NULL : Exige que le champ contienne une valeur, empêchant l’insertion de valeurs nulles.
  • CHECK : Assure que la valeur saisie répond à une condition particulière.
CREATE TABLE orders (
  order_id INT NOT NULL,
  customer_id INT NOT NULL,
  order_date DATE CHECK (order_date > '2000-01-01')
);

Travailler avec les Dates dans Beekeeper Studio

Lors du travail avec les insertions de dates sur différentes bases de données, un éditeur SQL puissant fait la différence. Beekeeper Studio fournit un excellent support pour écrire et tester des requêtes liées aux dates.

Fonctionnalités qui aident avec la gestion des dates :

  • Auto-complétion de requêtes : Suggère des fonctions de date pendant que vous tapez
  • Support multi-base de données : Travaillez avec des fonctions de date sur PostgreSQL, MySQL, SQLite, SQL Server et plus
  • Formatage des résultats : Affiche les dates dans des formats lisibles
  • Historique des requêtes : Sauvegardez et réutilisez vos modèles d’insertion de date

La version gratuite inclut tout ce dont vous avez besoin pour maîtriser les opérations de date SQL, ce qui la rend parfaite pour l’apprentissage et le travail de base de données en production.

Conclusion : Meilleures Pratiques pour Insérer des Dates en SQL

En ce qui concerne l’insertion de dates en SQL, il y a plusieurs meilleures pratiques à suivre. Ce faisant, vous vous assurerez de stocker et de gérer efficacement les informations de date, en les utilisant de manière transparente dans vos requêtes et applications. Voici un aperçu de certains aspects clés à retenir :

  • Types de Données Date : Lors de la création de colonnes de table, assurez-vous de sélectionner un type de données approprié pour les informations de date. SQL offre une gamme de types de données de date et d’heure, tels que DATE, TIME et TIMESTAMP. Choisir le bon aide à prévenir les erreurs et améliore les performances des requêtes.

  • Format Cohérent : SQL exige une cohérence dans le format de date à travers toutes vos valeurs de date. Assurez-vous que toutes les valeurs de date que vous saisissez en SQL adhèrent à un seul format. Le format standard est YYYY-MM-DD. Cette cohérence facilite de meilleurs rapports et analyses.

  • Utiliser les Fonctions Intégrées : SQL fournit de nombreuses fonctions intégrées pour travailler avec les valeurs de date, telles que GETDATE(), CURDATE() et CURRENT_TIMESTAMP. Ces fonctions économisent du temps lors de l’insertion ou de la mise à jour d’informations liées aux dates et gardent votre code SQL compact et efficace.

  • Tenir Compte des Fuseaux Horaires : Gérer les fuseaux horaires peut être délicat lors du travail avec des valeurs de date. Envisagez d’utiliser des fonctions sensibles aux fuseaux horaires lors du travail avec des données internationales.

  • Paramètres ou Variables : Lors de l’insertion de valeurs de date via des applications ou des frontends web, utilisez des requêtes paramétrées ou des variables au lieu de valeurs codées en dur. L’utilisation de paramètres ou de variables aide non seulement à éviter les attaques potentielles par injection SQL, mais augmente également la réutilisabilité et la lisibilité du code.

En adhérant à ces meilleures pratiques pour insérer des dates en SQL, vous augmenterez l’intégrité et l’utilisabilité de vos informations de date, améliorant finalement les capacités de reporting et d’analyse.

Beekeeper Studio Est Une Interface de Base de Données Gratuite et Open Source

Le meilleur outil de requêtes SQL et éditeur que j'ai jamais utilisé. Il fournit tout ce dont j'ai besoin pour gérer ma base de données. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio est rapide, intuitif et facile à utiliser. Beekeeper prend en charge de nombreuses bases de données et fonctionne très bien sur Windows, Mac et Linux.

La version Linux de Beekeeper est 100% complète, sans compromis sur les fonctionnalités.

Ce Que Les Utilisateurs Disent De Beekeeper Studio

★★★★★
"Beekeeper Studio a complètement remplacé mon ancien workflow SQL. C'est rapide, intuitif et rend le travail avec les bases de données agréable à nouveau."
— Alex K., Développeur de Bases de Données
★★★★★
"J'ai essayé de nombreuses interfaces de bases de données, mais Beekeeper trouve l'équilibre parfait entre fonctionnalités et simplicité. Ça marche tout simplement."
— Sarah M., Ingénieure Full Stack