Programmation SQL/Langage de définition de données

Un livre de Wikilivres.

Le LDD comprend les commandes pour la définition des données, qui sont CREATE (créer), DROP (supprimer), et ALTER (modifier).

SCHEMA[modifier | modifier le wikicode]

Instruction CREATE SCHEMA[modifier | modifier le wikicode]

CREATE SCHEMA nom_base;
  • Signification : crée une base de données appelée nom_base.
  • Rappel : une base de données est un ensemble de tables. Un SGBD peut gérer plusieurs bases de données.
  • Exemple :
CREATE SCHEMA `toto` ;

Cette commande permet de créer une base de données toto.

Sous MySQL on peut employer le terme DATABASE

CREATE {DATABASE | SCHEMA} nom_base;

Instruction DROP SCHEMA[modifier | modifier le wikicode]

DROP SCHEMA nom_base;
  • Signification : détruit une base de données appelée nom_base.
  • remarque : cette instruction est parfois désactivée pour des raisons de sécurité.
  • Exemple :
DROP SCHEMA `toto` ;

Cette commande permet de détruire une base de données toto.

Sous MySQL on peut employer le terme DATABASE

DROP {DATABASE | SCHEMA} nom_base;

TABLE[modifier | modifier le wikicode]

Instruction CREATE TABLE[modifier | modifier le wikicode]

  • Cette instruction permet de créer une table : il faut définir son nom, les différents champs de la table avec leur type ainsi que des caractéristiques comme par exemple des clés.
  • Chaque champs d'une table possède un type :
    • CHAR chaîne non unicode remplacé par nchar pour des chaînes unicode microsoft (cf À la découverte d'Unicode )
    • VARCHAR chaîne non unicode remplacé par nvarchar pour des chaînes unicode microsoft.
    • INTEGER
    • NUMBER
    • DECIMAL
    • FLOAT
    • DOUBLE
    • DATE
    • TIME
    • TIMESTAMP


  • Exemple :
CREATE TABLE client1 ("NOM" VARCHAR( 50 ), "PRENOM" VARCHAR( 50 ), "TELEPHONE" VARCHAR( 50 ), "ADRESSE" VARCHAR( 200 ) );

Cette instruction crée une table intitulée client1 contenant 4 champs :

  • Un champ NOM : chaîne d'au plus 50 caractères.
  • Un champ PRENOM : chaîne d'au plus 50 caractères.
  • Un champ TELEPHONE : chaîne d'au plus 50 caractères.
  • Un champ ADRESSE : chaîne d'au plus 200 caractères.

Instruction DROP TABLE[modifier | modifier le wikicode]

DROP TABLE nom_table;
  • Signification : détruit la table appelée nom_table.
  • Exemple :
DROP TABLE `client1` ;

Cette commande permet de détruire la table client1.

INDEX[modifier | modifier le wikicode]

Instruction CREATE INDEX[modifier | modifier le wikicode]

CREATE [UNIQUE] INDEX nom_de_l_index ON nom_de_table
  • Signification : crée un index appelée nom_de_l_index sur la table nom_de_table.

Instruction DROP INDEX[modifier | modifier le wikicode]

DROP INDEX nom_de_l_index ON nom_de_table
  • Signification : détruit l'index appelé nom_de_l_index de la table nom_table.

VIEW[modifier | modifier le wikicode]

Instruction CREATE VIEW[modifier | modifier le wikicode]

{CREATE | REPLACE} VIEW {nom_de_la_vue} AS
{Instruction SELECT}
WITH READ ONLY;

Avec Oracle :

  • La création d'une vue nécessite les droits de création de vue.
  • L'instruction WITH READ ONLY (lecture seule) est facultative.
  • Une vue qui comporte certaines expressions (comme GROUP BY) est forcément en lecture seule.
  • L'{Instruction SELECT} de la vue ne comportera pas d'ORDER BY.


Voir aussi[modifier | modifier le wikicode]