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

Le langage SQL
Wikibooks-logo-fr-sans.svg
Sommaire
Modifier ce modèle

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

SCHEMAModifier

Instruction CREATE SCHEMAModifier

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 SCHEMAModifier

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;

TABLEModifier

Instruction CREATE TABLEModifier

  • 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 TABLEModifier

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.

INDEXModifier

Instruction CREATE INDEXModifier

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 INDEXModifier

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.

VIEWModifier

Instruction CREATE VIEWModifier

{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 aussiModifier