Requêtes SQL sur une base de données MySQL

Requêtes SQL sur une base de données MySQL, jointures SQL...

 

Sélection et limites sur un random

Sélectionner 5 produits aléatoires dont la catégorie est la 5ème.

SELECT AProduit FROM BArmoire WHERE Ccategorie='5' ORDER BY rand() LIMIT 5

 

Séction et jointure SELECT * FROM A INNER JOIN B

Créer les deux tables suivantes.

CREATE TABLE `categories` (
`categorie` int(11) NOT NULL,
`categorieNom` varchar(22) NOT NULL,
PRIMARY KEY (`categorie`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `categories` (`categorie`, `categorieNom`) VALUES
(1, 'JARDIN'),
(2, 'INTERIEUR'),
(3, 'GARAGE'),
(4, 'SPORT'),
(5, 'ALIMENTAIRE'),
(6, 'BOISSON');

CREATE TABLE `produit` (
`categorie` int(11) NOT NULL,
`produit` varchar(22) NOT NULL,
PRIMARY KEY (`categorie`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `produit` (`categorie`, `Produit`) VALUES
(1, 'PRODUIT1'),
(2, 'PRODUIT2'),
(3, 'PRODUIT3'),
(4, 'PRODUIT4'),
(5, 'PRODUIT5'),
(6, 'PRODUIT6');

Récupérer les catégories des produits 1, 2 et 5 avec une jointure.

SELECT categorieNom
FROM categories
INNER JOIN produit ON categories.categorie = produit.categorie
WHERE produit.categorie =1
OR produit.categorie =2
OR produit.categorie =5

Le même code simplifié

SELECT categorieNom
FROM categories
INNER JOIN produit ON categories.categorie = produit.categorie
WHERE produit.categorie IN(1, 2, 5)

La capture suivante permet de mieux comprendre les jointures SQL.

Mieux comprendre les jointures SQL.

 

Effacer un élément avec une référence passée par variable

"DELETE FROM films WHERE numFilm = '$valeur'";

 

Copier une table A vers un fichier save.sql

SELECT * INTO OUTFILE 'save.sql' FROM A


Provoque une erreur chez l'hébergeur sivit sur un hébergement mutualisé.
#1045 - Access denied for user 'domaine'@'localhost' (using password: YES)
Sivit n'autorise pas l'export de la base en PHP.

 

Copier une table A vers B

CREATE TABLE B AS SELECT * FROM A

 

Supprimer une colonne azerty dans une table C

ALTER TABLE C DROP COLUMN azerty

La clause ALTER permet de modifier les colonnes d'une table.
Associée à la clause DROP COLUMN, elle permet de supprimer des colonnes.

La suppression de colonnes n'est possible que dans le cas où:
- La colonne ne fait pas partie d'une vue.
- La colonne ne fait pas partie d'un index.
- La colonne n'est pas l'objet d'une contrainte d'intégrité.

 

Exporter une base de données MySQL avec PHP

Enregistrer un des codes ci-dessous dans un fichier export-base.php.

Le fichier au format .sql

<?php
echo "Votre base est en cours d'exportation.......<br />";
system("mysqldump --host=HOTEMYSQL5.0 --user=NOMUTILISATEUR --password=PASSWORDUTILISATEUR! --no-create-db --default-character-set=utf8 --lock-tables=FALSE --tables TABLEouBASE >dump.sql");
print_r(file("dump.sql")); // affiche le dump ou l'erreur de mysqldump.
echo "C'est fini. Votre base est exporté vers le fichier dump.sql";
?>

Le fichier au format bz2

<?php
echo "Votre base est en cours d'exportation.......<br />";
system("mysqldump --host=mysql5.0 --user=testx1007 --password=testx1007! --no-create-db --default-character-set=utf8 --lock-tables=FALSE --tables testx1007_db1 | bzip2 >dump.sql.bz2");
print_r(file("dump.sql.bz2")); // affiche le dump ou l'erreur de mysqldump.
echo "C'est fini. Votre base est exporté vers le fichier dump.sql.bz2";
?>

Le fichier au format gz

<?php
 echo "Votre base est en cours d'exportation.......<br />";
 system("mysqldump --host=mysql5.0 --user=testx1007 --password=testx1007! --no-create-db --default-character-set=utf8 --lock-tables=FALSE --tables testx1007_db1 | gzip >dump.sql.gz");
 print_r(file("dump.sql.gz")); // affiche le dump ou l'erreur de mysqldump
 echo "C'est fini. Votre base est exporté vers le fichier dump.sql.gz";
 ?>

Le fichier au format zip

<?php
 echo "Votre base est en cours d'exportation.......<br />";
 system("mysqldump --host=mysql5.0 --user=testx1007 --password=testx1007! --no-create-db --default-character-set=utf8 --lock-tables=FALSE --tables testx1007_db1 | zip >dump.sql.zip");
 print_r(file("dump.sql.zip")); // affiche le dump ou l'erreur de mysqldump
 echo "C'est fini. Votre base est exporté vers le fichier dump.sql.zip";
 ?>

Une statistique n'est vraiment intéressante que si le chiffre qu'elle donne est imprévu car elle provoque alors une demande d'explication, qui vous apprend quelque chose.
Le rôle de la statistique est moins de renseigner que de fixer le renseignement qu'il faut chercher.
(Propos de O.L. Barenton, confiseur, p.150, Éd. du Tambourinaire, 1962)

Visionduweb - La Réponse Collaborative - 2002 / 2019

Condition d'utilisation du site Visionduweb

Vous êtes soumis au règlement suivant et à ce titre ni l'administrateur ni l'hébergeur ne pourraient ni ne seraient tenu pour responsable de vos actes.
Vous ne devez en aucun cas utiliser les informations présentes sur Visionduweb pour nuire à autrui ou à un système informatique.

La licence CC BY-NC-ND 4.0 est attribuée au contenu rédigé par Visionduweb sur les domaines suivants :
www.visionduweb.com www.visionduweb.eu www.visionduweb.fr www.visionduweb.info

Les profils utilisés par Visionduweb : Anonymous, Visionduweb, Zer00CooL

Le serveur et les services sont accessibles.
------------------------------------
------------

Chercher dans ce site

Menu de connexion