Premières requêtes
Exploitation d'une base de données MariaDB/MySQL
Petite vérification
Avant de commencer, vérifiez si vous savez...
- afficher la version de votre client MySQL/MariaDB, en ligne de commandes
- vous connecter au serveur de bases de données
localhost, en ligne de commandeshost=localhostport=3306user=rootpassword= celui qui vous avez saisi lors de l'installation de MariaDB
- afficher la liste des bases de données, en ligne de commandes
Une mission en 2 étapes
1) Créer la base de données
Nous allons nous connecter avec l'invite de commande et importer le fichier cdi.sql qui va réaliser les 3 opérations suivantes :
- créer la base de données,
- créer les tables
- et importer les données.
Extrait du fichier cdi.sql
Voici un extrait du fichier cdi.sql :
CREATE DATABASE IF NOT EXISTS `bibliotheque`;
USE `bibliotheque`;
DROP TABLE IF EXISTS `auteurs`;
CREATE TABLE IF NOT EXISTS `auteurs` (
`idauteur` int(11) NOT NULL AUTO_INCREMENT,
`nom` varchar(30) NOT NULL,
`prenom` varchar(30) NOT NULL,
`datenaiss` date DEFAULT NULL,
`datedeces` date DEFAULT NULL,
`bibliographie` text NOT NULL,
PRIMARY KEY (`idauteur`)
);
INSERT INTO `auteurs` (`idauteur`, `nom`, `prenom`, `datenaiss`, `datedeces`, `bibliographie`) VALUES
(1, 'Zola', 'Émile', NULL, NULL, ''),
(2, 'Verne', 'Jules', NULL, NULL, '');
Télécharger le fichier cdi.sql
Pour importer le fichier SQL cdi.sql dans le serveur SQL MariaDB ou MySQL on va utiliser la commande :
sudo mysql < cdi.sql
Autre commande possible
mysql -u root -p < cdi.sql
Pensez à préciser le chemin du fichier cdi.sql.
Ensuite, il faut vérifier que la base de données a bien été importée :
SHOW DATABASES;
USE `bibliotheque`;
SHOW TABLES;
2) Écrire les requêtes SQL
MCD
Le « Modèle Logique de Données » représente les tables et les relations entre les tables.
MLD texte
- AUTEURS (idauteur, nom, prenom, datenaiss, datedeces, bibliographie, #idlivre)
- EDITEURS (idediteur, nom, adresse, code, ville, pays, telephone, fax, #idlivre)
- EMPRUNTEURS (idemprunteur, nom, prenom, adresse, code, ville, telephone, sexe, datenaiss, nbretards)
- EMPRUNTS (idemprunt, datepret, daterendu, #idlivre, #idemprunteur)
- LIVRES (idlivre, isbn, titre, nbpages, dateparu, prix, theme, format)

A partir du schéma « Modèle Logique de Données » MLD représenté ci-dessus, écrire les requêtes SQL pour répondre aux questions suivantes.
Première question posée par la documentaliste.
1. Comment afficher la liste des auteurs (les informations sur les auteurs) ?
Les commandes SQL ne sont pas sensibles à la casse.
Cela signifie que dans le langage SQL, peu importe si vous écrivez vos commandes en majuscules ou en minuscules, elles seront interprétées de la même manière.
ATTENTION, les noms des tables et des colonnes sont sensibles à la casse.
2. Comment afficher (uniquement) les prénoms et noms des auteurs ?
3. Comment afficher les prénoms et noms des auteurs, triés par ordre alphabétique des noms ?
Utilisez ORDER BY pour trier les résultats d'une requête SQL.
Par défaut, le tri est ascendant (ASC). Ajoutez DESC pour un tri descendant.
4. Comment afficher la liste des livres (toutes les données sur les livres) ?
5. Comment afficher les titres des livres triés par ordre alphabétique des titres ?
6. Comment afficher les titres des livres dont le titre commence par un « L » triés par ordre alphabétique des titres ?
L'opérateur LIKE permet de filtrer les résultats selon un motif (pattern).
%remplace zéro ou plusieurs caractères :LIKE 'L%'trouve tout ce qui commence par « L »._remplace exactement un caractère.
7. Comment afficher les emprunts dont la date de prêt commence par « 2019-09 » (septembre 2019) ?
8. Comment afficher les emprunts dont la date de prêt est antérieure au 1er octobre 2019 ?
9. Comment afficher les emprunts dont la date de prêt est postérieure au 15 octobre 2019 ?
10. Comment afficher les emprunts dont la date de prêt est le 15 octobre 2019 ou une date postérieure ?
Les dates au format AAAA-MM-JJ se comparent avec <, >, <=, >= comme des nombres, grâce à l'ordre naturel du format ISO (année puis mois puis jour).
