Chapitre 4. 4.1 Installation de MySQL. Au fond, est-ce que ranger ça ne revient pas un peu à foutre le bordel dans son désordre?



Documents pareils
COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Olivier Mondet

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

PHP 5. La base de données MySql. A. Belaïd 1

SQL Historique

I. MySQL : Serveur et SGBD

CREATION WEB DYNAMIQUE

Bases de données relationnelles

Architecture de la plateforme SBC

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Création et Gestion des tables

Raja Bases de données distribuées A Lire - Tutoriel

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

TP3 : Creation de tables 1 seance

Pratique et administration des systèmes

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

MODE OPERATOIRE OPENOFFICE BASE

Installation d'un serveur FTP géré par une base de données MySQL

Langage SQL : créer et interroger une base

Guide d installation de MySQL

1/ Présentation de SQL Server :

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Cours: Administration d'une Base de Données

Historisation des données

Le Langage De Description De Données(LDD)

Modélisation et Gestion des bases de données avec mysql workbench

Gestion des utilisateurs et de leurs droits

Partie 0 : Gestion des tablespace et des utilisateurs... 3

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Bases de Données relationnelles et leurs systèmes de Gestion

Stockage du fichier dans une table mysql:

Le langage SQL (première partie) c Olivier Caron

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Les BASES de DONNEES dans WampServer

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Sommaire. Etablir une connexion avec une base de données distante sur PostGreSQL

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

FileMaker 13. Guide ODBC et JDBC

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org

La gestion des boîtes aux lettres partagées

Encryptions, compression et partitionnement des données

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

Oracle Learning Library Tutoriel Database 12c Installer le logiciel Oracle Database et créer une Database

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

1. Base de données SQLite

Les Utilisateurs dans SharePoint

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

Compte-rendu de projet de Système de gestion de base de données

Mysql avec EasyPhp. 1 er mars 2006

TP Contraintes - Triggers

Corrigé de l'atelier pratique du module 3 : Récupération d'urgence

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE]

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Gestion d utilisateurs et stratégie systèmes.

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec

Manuel de référence réduit de mysql (version 4.1.1) + "The MySQL C API" par Paul Dubois Licence Professionnelle Réseaux et Télécommunications Option

Le Langage SQL version Oracle

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

SUPPORT DE COURS / PHP PARTIE 3

HowTo Installer egroupware 1.2 sur SME Serveur 7.0

Tutoriel Drupal version 7 :

Pour les débutants. langage de définition des données

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence nominative)

Notes de cours : bases de données distribuées et repliquées

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Tutorial sur SQL Server 2000

Gestion de base de données

1. Installation du Module

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

PPE GESTION PARC INFORMATIQUE

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche

WDpStats Procédure d installation

Utilisation de GalaxShare

Cyberclasse L'interface web pas à pas

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

(Fig. 1 :assistant connexion Internet)

Guide de déploiement

Symantec Backup Exec Remote Media Agent for Linux Servers

EJBCA PKI Open Source

Installation de TeamLab sur un serveur local Ce guide est destiné aux utilisateurs ayant des connaissances de base en administration Windows

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Objectifs du TP : Initiation à Access

Installer et configurer un réseau local Ethernet commuté. Généralités 1 Utilisation d un Switch administrable D-Link DES-3226

Tutoriel compte-rendu Mission 1

AFTEC SIO 2. Christophe BOUTHIER Page 1

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server

Auto-évaluation Oracle: cours de base

Devoir Data WareHouse

Installation d un hébergement Web à domicile

progecad NLM Guide de l'utilisateur

Transcription:

Chapitre 4 Introduction à SQL Au fond, est-ce que ranger ça ne revient pas un peu à foutre le bordel dans son désordre? Philippe Geluck 4.1 Installation de MySQL Pour télécharger MySQL avec l'installateur (MSI Installer), vous pouvez vous rendre sur le site suivant : http://dev.mysql.com/downloads/mysql/#downloads. Plutôt que de choisir la toute dernière version 5.6.10 (176 Mo tout de même), nous nous contenterons de la version 5.5.30 (31 Mo). Vériez que la version sélectionnée est bien Microsoft Windows et cliquez sur Download. Vous allez être redirigé vers une page vous proposant de créer un compte d'utilisateur ; descendez en bas de la page et cliquez sur No thanks, just start my download. Exécutez le chier téléchargé ; l'installateur démarre et vous guide lors de l'installation. Lorsqu'il vous demande de choisir entre trois types d'installation, choisissez Typical. Cela installera tout ce dont nous allons avoir besoin. 39

40 CHAPITRE 4. INTRODUCTION À SQL Cliquez sur next, l'installation se lance. Une fois qu'elle est terminée, cliquez sur Terminer après vous être assurés que la case lancer l'outil de configuration MySQL est cochée. Dans cet outil de conguration, choisissez la conguration standard et, à l'étape suivante, cochez l'option Include Bin Directory in Windows PATH. On vous propose alors de dénir un nouveau mot de passe pour l'utilisateur root (root signie racine, l'utilisateur root dispose de tous les privilèges d'administration). Choisissez un mot de passe et conrmez-le. ATTENTION : assurez-vous de ne pas oublier ce mot de passe! Ne cochez aucune autre option à cette étape. Cliquez ensuite sur Execute pour lancer la conguration. MySQL est maintenant installé et prêt à être utilisé! 4.2 Organisation d'une base de données Généralement, une base de données s'organise de la manière suivante : BASE DE DONNEES/DATABASE TABLE(S)/TABLE(S) CHAMPS/FIELD(S) VALEUR(S)/VALUE(S) Les éléments d'une base de données sont rangés en tables, qui elles-mêmes contiennent des champs qui peuvent avoir plusieurs valeurs. Par exemple, on pourrait imaginer une base de données des Élèves-ingénieurs contenant la table des Grandes Écoles ; chaque école aurait autant de champs que de promotions et, à l'intérieur de chaque champ, les valeurs représenteraient les noms, prénoms et adresses des élèves.

4.3. CONNEXION À MYSQL 41 4.3 Connexion à MySQL Pour se connecter, lancer l'invite de commande (Menu démarrer cmd Entrer ). Les champs à renseigner sont : le client (ici le client est MySQL) l'hôte (la base de données est accessible directement depuis votre machine : localhost) l'utilisateur (choisissez l'utilisateur root an de disposer de tous les droits) le mot de passe (password de l'utilisateur root conguré auparavant) Ainsi, une connexion complète peut s'écrire de la manière suivante : mysql -h localhost -u root -ppassword ATTENTION : ne pas mettre d'espace entre la directive -p et votre mot de passe. Vous pouvez également utiliser MySQL 5.5 Command Line Client qui a été créé dans la liste de vos programmes. Pour vous déconnecter, il sut de rentrer la directive quit ou \q ou encore exit dans votre invite de commande. Avant de voir les principales directives de MySQL que nous allons appliquer à la base de données isen, nous allons créer un utilisateur secondaire, ayant des droits limités, an d'éviter que vous ne supprimiez des tables préalablement existantes. Pour ce faire, connectez-vous avec l'utilisateur root, comme indiqué précédemment, et entrez ensuite les directives : GRANT ALL PRIVILEGES ON isen.* TO 'user'@'localhost' IDENTIFIED BY 'motdepasse'; GRANT ALL PRIVILEGES ON isen.* : alloue tous les droits sur la base de données isen. TO 'user'@'localhost' : crée un nouvel utilisateur pouvant se connecter à la base de données via l'adresse locale (remplacer user par n'importe quel nom). IDENTIFIED BY 'motdepasse' : crée le mot de passe du nouvel utilisateur. Ensuite déconnectez-vous (pour changer d'utilisateur) en utilisant la commande quit, puis reconnectez-vous avec votre nouvel utilisateur : mysql -h localhost -u user -pmotdepasse 4.4 Syntaxe SQL et premières commandes À partir de l'invite de commandes, vous pouvez réaliser toutes les opérations sur votre base de données. Il est recommandé, mais pas obligatoire, d'écrire les commandes en majuscules. Les commandes se terminent par ; ; pour annuler une ligne en cours de saisie, tapez \c. On peut acher le statut du serveur à l'aide de : SHOW STATUS; et on peut vérier son compte utilisateur à l'aide de SELECT USER(); Création et sélection d'une base de données Les commandes élémentaires permettant de créer cette base de données sont : création d'une nouvelle base de données isen (sans la sélectionner) : CREATE DATABASE isen; sélection de la base isen (ici le ; est facultatif) : USE isen; ou bien connexion à MySQL et sélection directe de la base :

42 CHAPITRE 4. INTRODUCTION À SQL mysql -h localhost -u user -pmotdepasse isen liste des bases de données : SHOW DATABASES; suppression d'une base de données : DROP DATABASE isen; Création, insertion et modication d'une table Considérons, par exemple, la table cir2 constituée par les élèves ci-dessous : Prénom Nom Age E-mail Tim AURIOL 21 tim.auriol@isen.fr Amir BELGHIT 21 amir.belghit@isen.fr Benjamin BERTHEVAS 19 benjamin.berthevas@isen.fr Kévin CERDAN 20 kevin.cerdan@isen.fr Corentin DELCOURT 18 corentin.delcourt@isen.fr Alexis HELLOUIN DE MENIBUS 22 alexis.hellouin-de-menibus@isen.fr Khaled JAFFAL 20 khaled.jaal@isen.fr Etienne JEZEQUEL 19 etienne.jezequel@isen.fr Maxime LEBEURIER 21 maxime.lebeurier@isen.fr Mickaël L'HARIDON 19 mickael.l-haridon@isen.fr Guy-Yann MORVAN 20 guy-yann.morvan@isen.fr Yannis OZAROWSKI 22 yannis.ozarowski@isen.fr Hugo ROIGNANT 21 hugo.roignant@isen.fr Mathieu SINIC 19 mathieu.sinic@isen.fr Mathieu THOULOUSE 21 mathieu.thoulouse@isen.fr Romain VAUDOUR 20 romain.vaudour@isen.fr Pierre ZEMB 21 pierre.zemb@isen.fr La table cir2 Les commandes élémentaires permettant de créer cette table sont : création d'une nouvelle table cir2 : CREATE TABLE cir2 (Prenom VARCHAR(30), Nom VARCHAR(30), Age INT(3), Email VARCHAR(30)); achage des tables de la base courante : SHOW TABLES; ajout d'un champ : ALTER TABLE cir2 ADD Sexe CHAR; retrait d'un champ : ALTER TABLE cir2 DROP Sexe; modication du nom d'un champ : ALTER TABLE cir2 CHANGE Email Courrier VARCHAR(30); achage de la structure de la table : DESCRIBLE cir2; chargement d'un chier directement dans une table : si l'on dispose d'un chier listecir2.txt contenant tous les élèves au format : "Tim" Tab "Auriol" Tab 21 Tab "tim.auriol@isen.fr" \r\n on peut le charger dans la table cir2 avec : LOAD DATA LOCAL INFILE '/path/listecir2.txt'into TABLE cir2 LINES TERMINATED BY '\r\n'; - une valeur nulle (NULL) s'écrit : \N dans le chier. - en cas d'erreur dans le chier, on peut le corriger, eacer la table (sans la supprimer) : DELETE FROM cir2; et la recharger.

4.4. SYNTAXE SQL ET PREMIÈRES COMMANDES 43 ajout d'une valeur (i.e. une ligne) : INSERT INTO cir2 VALUES ("François", "KANY", 42, "kanyfrancois@hotmail.com"); correction d'une valeur : UPDATE cir2 SET Age = 43 WHERE Nom = "KANY"; suppression d'une valeur : DELETE FROM cir2 WHERE Nom="KANY"; achage de toute la table : SELECT * FROM cir2; (* permet de pointer sur toutes les entrées). suppression de la table : DROP TABLE cir2; Recherche dans une base de données Les commandes élémentaires permettant de réaliser ces opérations sont : sélection d'une ligne : SELECT * FROM cir2 WHERE Nom = "Auriol"; sélection de plusieurs lignes : SELECT * FROM cir2 WHERE Age = 21; sélection de lignes suivant plusieurs critères : SELECT * FROM cir2 WHERE Age = 21 AND Prenom = "Mathieu"; les mots clés AND et OR permettent d'exécuter plusieurs requêtes en une seule commande. ( AND est prioritaire sur OR si l'on n'utilise pas de parenthèses pour regrouper les opérateurs). sélection d'une colonne : SELECT Nom FROM cir2; sélection de plusieurs colonnes : SELECT Nom, Prenom FROM cir2; sélection d'une colonne en évitant les doublons : SELECT DISTINCT Prenom FROM cir2; (Mathieu n'apparaît qu'une fois). sélection d'une colonne croisée avec un critère sur les lignes : SELECT Prenom FROM cir2 WHERE Age=21; tri des lignes par ordre croissant : SELECT Nom FROM cir2 ORDER BY Age; (ou BY Age DESC; pour un tri décroissant). sélection suivant un modèle : SELECT * FROM cir2 WHERE Nom LIKE "A%"; (tous les noms qui commencent par "A" ou "a") ; LIKE "%A"; (qui nissent par "A" ou "a") ; LIKE "%A%"; (qui contiennent "A" ou "a"). SELECT * FROM cir2 WHERE Nom REGEXP "^A"; (tous les noms qui commencent par "A" ou "a") ; REGEXP "A$"; (qui nissent par "A" ou "a") ; REGEXP "^.A"; (dont la deuxième lettre est "A" ou "a") ; REGEXP BINARY "^a"; (dont la première lettre est exactement "a"). comptage du nombre de lignes : SELECT COUNT(*) FROM cir2; Concept de clé primaire PRIMARY KEY : attribue un identiant id unique à un élément d'une base de données ; ce qui permet de diérencier deux entrées qui auraient exactement les mêmes attributs. Cet identiant s'appelle la clé primaire. On peut l'attribuer manuellement ou automatiquement à l'aide de id INT NOT NULL AUTO_INCREMENT, Voici le code pour la table cir2. CREATE TABLE cir2 (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), Prenom VARCHAR(30), Nom VARCHAR(30), Age INT(3), Email VARCHAR(30));

44 CHAPITRE 4. INTRODUCTION À SQL On doit alors entrer : INSERT INTO cir2 VALUES (1,"Tim", "Auriol", 21, "timauriol@isen.fr"); ou bien : INSERT INTO cir2 VALUES (NULL,"Tim", "Auriol", 21, "timauriol@isen.fr"); Concept de clé étrangère Une clé étrangère sert à créer des liens entre diérentes tables. Soient A et B deux tables indexées par leurs clés primaires respectivement a et b. b est une clé étrangère pour A (et réciproquement), on l'indique par le mot clé REFERENCES. Par exemple, créons la table des TD d'informatique de ce livre. Pour lier cette table à leurs auteurs, il faut écrire : CREATE TABLE tdinfo ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), Intitule VARCHAR(255), Langage ENUM ("Mathematica","Python"), Programmeur INT NOT NULL REFERENCES cir2(id)); INSERT INTO cir2 VALUES (NULL,"Khaled", "JAFFAL",20, "khaled.jaffal@isen.fr"); SELECT @last:=last_insert_id(); INSERT INTO tdinfo VALUES (NULL,"Sudoku","Python",@last), INSERT INTO tdinfo VALUES (NULL,"pH","Python",@last); INSERT INTO cir2 VALUES (NULL,"Corentin", "DELCOURT", 18, "corentin.delcourt@isen.fr"); SELECT @last:=last_insert_id(); INSERT INTO tdinfo VALUES (NULL,"RSA", "Python",@last), INSERT INTO tdinfo VALUES (NULL,"Transformee de Fourier","Python",@last); Ainsi, SELECT * FROM tdinfo; permet de visualiser les intitulés et les langages avec les identiants des programmeurs tels qu'ils apparaissent dans la table cir2.