SQL - Structure




  1. Présentation

Il y a 2 types de requêtes : les requêtes de traitement des enregistrement (Select, insert, delete), les requêtes de gestion (les autres, celles dont nous parlerons ici !). Nous allons voir ici les différentes requêtes de gestion de la base. J'entends par la les requetes de creation de base, de creation de table, de modification du format d'une table, d'ajout d'enregistrement, de suppression d'enregistrement.




  2. La base



  2. 1. Création de la base

CREATE DATABASE nom_base;


  2. 2. Suppression de la base

DROP DATABASE nom_base;



  3. Les tables



  3. 1. Création de la table

Structure standard :
CREATE TABLE nom_table (nomcolonne1 type [options] [, autres champs [options]]);
Exemple :
create table personne (codep int primary key auto_increment,
                       nomp char(50) not null,
                       prenomp char(50));
create table adresse (codea int,
                      adressea longtext,
                      codepostal char(5) default "35000");
create table if not exists relation (ca int not null,
                                     cb int not null,
                                     constraint cle primary key(ca, cb));
  • La table "Personne" contient donc un premier champs "CodeP" qui est la clé, qui en plus s'incrémente automatiquement. Ensuite, on fixe un champs "NomP" qui ne doit pas etre vide (option "NOT NULL"), et enfin un champs "PrenomP" qui est une chaine de 50 caractères, et qui peut etre vide.
  • La table "Adresse" contient elle un champ "CodeA" qui est juste un entier, un champs "AdresseA" qui peut contenir des retours à la ligne, puis un dernier champs "CodePostal" qui est une chaine de 5 caractère ayant pour valeur par défaut "35000".
  • La table "Relation" est constituée de 2 champs non nuls et d'une clé primaire sur les deux champs.

Les différents types possibles sont les suivants:
Type Description
INT Entier standard
SMALLINT Petit entier
FLOAT Valeur réelle
CHAR (n) Chaine fixe de n caractères
VARCHAR (n) Chaine variable d'au plus n caractères
LONGTEXT Chaine de caractère premettant les sauts de lignes
LONG VARCHAR Chaine de caractère permettant les sauts de lignes
DATE Enregistrement au format date
ENUM (valeur1, valeur2,...) Type énuméré (seulement certaines valeurs autorisées)
TIMESTAMP Enregistrement de l'heure et de la date

Les différentes options possibles sont les suivantes:
Options Description
NOT NULL Le champs ne peut être vide
AUTO_INCREMENT La valeur du champs est incrémentale, très pratiquep pour les clés
PRIMARY KEY Permet de définir la clé primaire
DEFAULT Valeur par defaut de la colonne
UNSIGNED Permet de ne prendre en compte que les valeurs positives
IF NOT EXISTS Permet de ne créer la table que si elle n'existe pas déjà
Ceci permet de créer a peu près tout type de tables, même s'il existe d'autres options que je n'ai pas abordé ici car elles sont moins couremment utilisées.



  3. 2. Suppression de la table

DROP TABLE nom_table;


  3. 3. Modification de la table

Il peut être utile de temps en temps de supprimer ou d'ajouter un champs. C'est ce que nous allons voir maintenant.
La structure générale est :
ALTER TABLE nom_table [Operation] (Champs type);
Exemple :
ALTER TABLE Adresse ADD (Ville CHAR(25),Pays CHAR(20));
ALTER TABLE Adresse DROP Pays;
ALTER TABLE Adresse RENAME Logement;
ALTER TABLE Adresse CHANGE Ville VilleA CHAR(15);
ALTER TABLE Adresse ALTER VilleA SET DEFAULT "Rennes";
Ces exemples permettent, dans l'ordre, de :
  • Ajouter 2 colonnes a la table Adresse
  • Supprimer une colonne de la table Adresse
  • Renommer la table
  • Changer le nom et la definition d'une colonne
  • Fixer une valeur par défaut d'une colonne





Page modifiée le : 22/07/2002
Site modifié le : 16/05/2016


Valid XHTML 1.0 Transitional