Insertion de données
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.
Objectifs
Savoir insérer des données dans une table ;
Connaître le format des données à insérer en fonction des types.
Mise en situation
Une fois les tables d'une base de données créées et leurs contraintes bien définies, vous allez enfin pouvoir stocker les données à proprement parler.
SQL fournit une syntaxe puissante pour ce stockage, appelée insertion, permettant d'insérer un grand lot de données d'un seul coup et même de choisir quels sont les attributs que vous voulez renseigner.
En revanche, il y a des contraintes à respecter sur le format des données, en fonction de leur type : une date s'écrit différemment d'une chaîne de caractères et d'un nombre.
Introduction
Le langage SQL fournit des instructions pour ajouter des nouveaux tuples à une relation. Il offre ainsi une interface standard pour ajouter des informations dans une base de données.
Syntaxe : Insertion de valeurs
INSERT INTO <Nom de la relation> (<Liste ordonnée des propriétés à valoriser>)
VALUES (<Liste ordonnée des valeurs à affecter aux propriétés spécifiées ci-dessus>);
Exemple :
CREATE TABLE transfer (
number INTEGER NOT NULL,
amount INTEGER NOT NULL,
object TEXT,
PRIMARY KEY (number)
);
INSERT INTO transfer (number, amount, object)
VALUES (1, 1000, 'Prime de naissance');
SELECT *
FROM transfer;
| number | amount | object |
| ------ | ------ | ------------------ |
| 1 | 1000 | Prime de naissance |
Remarque :
Les propriétés non valorisées sont affectées à la valeur
NULL
.Il est possible de ne pas spécifier les propriétés à valoriser, dans ce cas, toutes les propriétés de la relation seront considérées, dans leur ordre de définition dans la relation (à n'utiliser que dans les cas les plus simples).
INSERT INTO transfer (number, amount)
VALUES (2, 200);
SELECT *
FROM transfer;
| number | amount | object |
| ------ | ------ | ------------------ |
| 1 | 1000 | Prime de naissance |
| 2 | 200 | |
Méthode : Chaînes de caractères
Les chaînes de caractères doivent être protégées par des apostrophes :
'
Pour insérer une apostrophe, doubler le caractère :
''
Exemple :
CREATE TABLE book (
title VARCHAR(255),
PRIMARY KEY (title)
);
INSERT INTO book (title)
VALUES ('L''Attrape-cœurs');
Méthode : Dates
La saisie des dates peut se faire de plusieurs façons dépendantes du SGBD. La méthode la plus simple consiste à entrer la date comme une chaîne au format « YYYY-MM-DD »
(4 chiffres de l'année, 2 chiffres du mois, 2 chiffres du jour).
Il est plus standard de faire précéder cette notation du mot-clé DATE
.
Exemple :
CREATE TABLE book (
title VARCHAR(255),
publication DATE,
PRIMARY KEY (title)
);
INSERT INTO book (title, publication)
VALUES ('As we may think', DATE '1945-07-14');
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.