BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 1/35 - Bertrand LIAUDET
Bases de donnéesNiveau 1
SQL - MySQL MariaDB - Cours et TP 5
DDL et DML
Site officiel MariaDB : https://mariadb.org/
Site officiel MySQL : http://www-fr.mysql.com/
Documentations MySQL : http://dev.mysql.com/doc/index.html
Documentations MySQL 5.0 en français :
http://bliaudet.free.fr/IMG/pdf/MySQL-refman-5.0-fr.pdf
Mémo SQL : http://www.volubis.fr/bonus/SQL_memo.htm
Bertrand LIAUDET
SOMMAIRE
SOMMAIRE 1!
SQL : CREATION DE LA BASE DE DONNEES. LES TABLES : LE DDL 4!
0.!Présentation 4!
CMS des tables : Le DDL : Data Definition Language 4!
CMS des tuples : Le DML : Data Manipulation Language 4!
1.!CREATE TABLE - Création des tables 5!
Création des tables 5!
Les types 6!
Transtypage : cast et convert 7!
Les contraintes d’intégrité 8!
Exemples de code 9!
Create table as select 10!
2!FOREIGN KEY - Contrainte d’intégrité référentielle : CIR 11!
Notion de contrainte d’intégrité référentielle 11!
Conséquences de l’intégrité référentielle sur les tables 11!
Conséquences de l’intégrité référentielle sur les tuples 12!
Nommer les contraintes : CONSTRAINT nomContrainte 14!
Syntaxe SQL 14!
Autres possibilités 15!
3!ALTER TABLE - Modification des tables 16!
BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 2/35 - Bertrand LIAUDET
Principe de la syntaxe 16!
Ajouter, modifier, supprimer des attributs 16!
Ajout et suppression de contraintes d'intégrité 17!
4!DROP TABLE - Suppression des tables 17!
5.!SHOW CREATE TABLE - Récupération du code sous MySQL 18!
SHOW CREATE TABLE 18!
Rappels d’autres commandes 19!
6.!ENGINE - Moteur MyISAM et moteur InnoDB 20!
MyISAM et InnoDB 20!
Quel moteur choisir ? 20!
Conséquence syntaxique : ENGINE InnoDB 20!
Passage d’un moteur à l’autre 20!
7.!ISO-ASCII – UTF 8 - Questions de caractères 21!
Jeu de caractères : character set 21!
Collation 22!
5 niveaux de définition : Serveur, Client, Base, Table, Colonne 23!
Conversion : CONVERT 24!
Usages 24!
SQL : CREATION DE LA BASE DE DONNEES. LES TUPLES : LE DML 25!
1.!INSERT - Création des tuples 25!
Création de tuples 25!
Création de tuples en série 25!
Utilisation de l’auto-incrément 26!
Gestion des clés étrangères : la fonction last_insert_id() 26!
2.!UPDATE - Modification des tuples 27!
3.!DELETE - Suppression des tuples 29!
4.!REPLACE : Remplacement des tuples (pas standard) 31!
Principe 31!
Syntaxe 31!
4 cas de figure 31!
TP N°5 : CMS DES TUPLES ET DES TABLES 32!
Présentation 32!
Exercice 1 : charger les tables de la base de données 32!
Présentation 32!
Exercice : lancer le script de création de la BD 32!
Exercice 2 : modification et création de la BD 33!
Méthode de travail 33!
Les requêtes : CMS (Création Modification Suppression) des tuples 33!
Exercice 3 : création de la BD via un SELECT et des ALTER 34!
BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 3/35 - Bertrand LIAUDET
Méthode de travail 34!
Les requêtes 34!
Exercice 4 : Exporter - Importer 34!
Méthode de travail 34!
Les requêtes 34!
Exercice 5 : passage de InnoDB à MyISAM et retour en InnoDB 35!
Méthode de travail 35!
Les requêtes 35!
Dernière édition : novembre 2016
BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 4/35 - Bertrand LIAUDET
SQL : CREATION DE LA BASE DE DONNEES.
LES TABLES : LE DDL
PRINCIPALES NOTIONS
CREATE TABLE INSERT INTO
ALTER TABLE UPDATE
DROP TABLE DELETE FROM
Contraintes d’intégrité non référentielles Moteur MyISAM
Contraintes d’intégrité référentielle Moteur InnoDB
Show create table
0. Présentation
Les trois opérations fondamentales de « création » au sens large de la base de données sont :
la création, la modification et la suppression
Ces opérations correspondent au sigle : CMS
La CMS s’applique aux tables, aux tuples mais aussi aux utilisateurs.
CMS des tables : Le DDL : Data Definition Language
CREATE TABLE
ALTER TABLE
DROP TABLE
CMS des tuples : Le DML : Data Manipulation Language
INSERT INTO
UPDATE
DELETE FROM
REPLACE
BASES DE DONNÉES - Niveau 1 - MySQL - MariaDB - Cours 05 - page 5/35 - Bertrand LIAUDET
1. CREATE TABLE - Création des tables
Une fois le modèle des données réalisé, il reste à créer la base de données. Créer d’abord les
tables, puis les tuples.
Création des tables
http://dev.mysql.com/doc/refman/5.0/fr/create-table.html
Syntaxe MySQL
En première approche, la commande a la syntaxe suivante :
CREATE table NomTable (
attribut_1 type [contrainte d’intégrité],
attribut_2 type [contrainte d’intégrité],
… ,
attribut_n type [contrainte d’intégrité] ,
[contrainte d’intégrité]
);
Les contraintes sont facultatives.
L’ordre dans la liste est au choix.
La table est une coquille vide : c'est une structure. Elle permettra ensuite de créer des tuples.
Exemple
CREATE TABLE DEPT (
ND integer primary key auto_increment,
NOM varchar(14) not NULL,
VILLE varchar(13)
);
CREATE TABLE EMP (
NE integer primary key auto_increment,
NOM varchar(10) not NULL,
JOB enum ('PRESIDENT','MANAGER', 'SALESMAN', 'CLERK', 'ANALYST'),
DATEMB date,
SAL float(7,2),
COMM float(7,2),
ND integer not null, foreign key(ND) references DEPT(ND),
NEchef integer , foreign key(NEchef) references EMP(NE)
);
1 / 35 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !