< Structured Query Language
fin de la boite de navigation du chapitre

Pour la suite de la leçon, nous aurons besoin de quelques données de tests, il faut donc commencer par créer une table :

CREATE TABLE test (
	id	INTEGER NOT NULL	PRIMARY KEY,
	nom	VARCHAR(30) NOT NULL,
	points	INTEGER,
	quand	TIMESTAMP NOT NULL
);

La requête ci-dessus assez standard, elle est établie par une norme que tous les SGBDR devraient respecter. Si toutefois elle ne s'exécutait pas ou renvoyait une erreur, il faudra rechercher dans la documentation spécifique au SGBDR utilisé.

La clé primaire s'incrémente automatiquement à chaque enregistrement, on peut néanmoins la préciser lors de l'insertion des données :

INSERT INTO test ( id, nom, points, quand ) VALUES
	( 1, 'shepard', 384, '2007-01-01 00:00:00' ),
	( 2, 'shepard', 194, '2007-01-03 12:51:25' ),
	( 3, 'visiteur', 156, '2007-01-03 12:54:19' ),
	( 4, 'shepard', 16, '2007-01-03 13:04:18' ),
	( 5, 'somebody', 958, '2007-01-05 23:16:08' ),
	( 6, 'somebody', 1084, '2007-01-06 02:15:59' ),
	( 7, 'shepard', 453, '2007-01-10 15:32:06' ),
	( 8, 'shepard', 35, '2007-01-10 15:43:15' ),
	( 9, 'visiteur', 125, '2007-01-11 12:13:15' ),
	( 10, 'somebody', 856, '2007-01-11 22:19:23' );

Autre exemple

CREATE TABLE client
(Prenom char(50),
Nom char(50),
Adresse char(50),
Ville char(50),
Pays char(25),
DateDeNaissance date);


En mysql :

mysql> use test
Database changed
mysql> CREATE TABLE client
    -> (Prenom char(50),
    -> Nom char(50),
    -> Adresse char(50),
    -> Ville char(50),
    -> Pays char(25),
    -> DateDeNaissance date);
Query OK, 0 rows affected (0.08 sec)

mysql> describe client;
+-----------------+----------+------+-----+---------+-------+
| Field           | Type     | Null | Key | Default | Extra |
+-----------------+----------+------+-----+---------+-------+
| Prenom          | char(50) | YES  |     | NULL    |       |
| Nom             | char(50) | YES  |     | NULL    |       |
| Adresse         | char(50) | YES  |     | NULL    |       |
| Ville           | char(50) | YES  |     | NULL    |       |
| Pays            | char(25) | YES  |     | NULL    |       |
| DateDeNaissance | date     | YES  |     | NULL    |       |
+-----------------+----------+------+-----+---------+-------+
6 rows in set (0.00 sec)

mysql>

Exemple avec une jointure

On remplace juste VALUES par SELECT :

INSERT INTO test (id, nom, points, quand) SELECT id, nom, points, quand FROM match;
Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.