Langage SQL et outils

image_pdfimage_print

Le langage SQL ?

SQL (structured Query Language)
est LE langage standard (et donc normalisé) d’interrogation et de mise à jour de tous les SGBDRs.
Plus précisément il permet de créer des données contenues dans des tables, mais aussi de les consulter / interroger, modifier, supprimer.

Il utilise des opérateurs simples comme :

  • les opérateurs de projection (choix de colonnes),
  • les opérateurs de restrictions ou de selection (choix de lignes),
  • les opérateurs de jointures (mise en relations de 2 ou plusieurs tables,
  • les opérateurs ensemblistes (Union, intersection, différence).

SQL est un langage non procédural et n’est pas un langage de programmation.

En l’occurence il ne permet pas de :

  • gérer des variables d’entrée / sortie (pas de création, typage, affectation, lecture, etc)
  • gérer l’interface homme/machine,
  • faire des itérations ou des boucles répétitives de type LOOP, WHILE, REPEAT, FOR…,
  • gérer des erreurs, ou des événements particuliers,
  • créer des sous-programme (procédure, fonctions, etc.).

C’est un langage proche du langage naturel (mais en Anglais 😉 )qui possède un vocabulaire assez réduit.
Pour écrire des programme de manière procédurale (et y inclure du SQL) Oracle propose en complément le langage PL/SQL

Il faut distinguer 2 types d’ordres SQL :
– ceux qui portent sur les données elles-mêmes : Langage de manipulation des données ou LMD
– ceux qui portent sur le contenant ou les structures de données : Langage de définition de données ou LDD

On trouvera une classification des différents ordres dans le tableau suivant

ordres du LMD ordres du LDD
pour la consultation :
SELECT
pour la création ou la modification d’objets (table, index, procedure, vues, etc.)
CREATE, DROP, ALTER, RENAME, TRUNCATE
pour les mises à jour :
UPDATE, INSERT, DELETE
pour la gestion des droits :
GRANT, REVOKE

Pour une description des ordres SQL les plus courants, voir mon mémento SQL

attention : les ordres du LDD marquent la fin d’une transaction et COMMITent implicitement les modifications courantes.

Outils MySQL

‘mysql’

Le mot ‘mysql’ est ambigu. C’est un executable qu’on appelle en mode commande qui permet d’interpréter et exécuter du SQL sur un serveur MySQL. Il faut se connecter à la base avec cet interptéteur pour pouvoir travailler.
(Le programme serveur s’appelle lui en général ‘mysqld’ et tourne sur le port 3306 par défaut)

 

 

 

 

 

 

Il existe un outils graphique alternatif standard (fourni par Oracle/MySQL)

MySQL Workbench. Il permet de faire du SQL, du développement, de la conception et de l’administration (transfert de données, surveillance, sécurité, optimisation)

Workbench est un client lourd (executables à installer sur le poste client)

PhpMyAdmin
est un outil historique (et fort répandu) qui permet de faire du SQL, du développement et (un peu) d’administration. PhpMyAdmin est une application Web  pas un client lourd et est écrite en…PHP. Son interface est assez pauvre et définitivement obsolète en terme d’ergonomie.
Client léger, ne s’installe pas forcément sur le poste client et nécessite une infrastructure Web, à savoir un serveur HTTP (Apache), un plugin PHP et des programmes PHP.
Il existe nombre de packages complets incluant ces composants (et un serveur MYSQL!):
EasyPHP, Wamp, XAMP, …

MyWebSQL

est une alternative intéressante, installable facilement chez un hébergeur par exemple, avec une interface correcte (no offense!).

Outils Oracle DB

Pour Oracle DB SQLPLus ou SQL+ est l’outil incontournable pour faire du SQL.
Il fonctionne en mode commande sans interface graphique sous tous les OS supportant Oracle : Windows, Linux, Unix, VMS, etc.

L’outil graphique standard fourni par Oracle est SQLDeveloper

 

 

 

 

 

 

 

 

 

 

Il permet aussi de  faire du SQL, du développement, de la conception et dans une moindre mesure de l’administration