Aller au contenu principal Aller au pied de page

Le langage SQL

«  Le langage pour agir sur des données dans une base relationnelle  »

Retour

Le SQL en deux mots

Fiche signalétique

Acronyme :
Structured Query Language (SQL)
Utilité :
Accéder aux données stockées dans une base de données relationnelle. Les données ne sont accessibles qu’au travers de ce langage. Si l’on veut ajouter, modifier, supprimer ou récupérer des données, il est nécessaire d’interagir avec du SQL.
Où peut-on en voir :
Difficile à voir, le code est caché
Langage algorithmique :
Non
Langage Orienté Objet :
Pas du tout
Difficulté ressentie :
Moyen (beaucoup de concepts s’entrecroisent)

Exemple SQL

Bloc de code
SELECT CONCAT(a.first_name, a.last_name) AS actor_name, c.name, COUNT(*) as nb FROM category c JOIN film_category fc ON c.category_id = fc.category_id JOIN film f ON f.film_id = fc.film_id JOIN film_actor fa ON fa.film_id = f.film_id JOIN actor a ON a.actor_id = fa.actor_id GROUP BY a.actor_id, c.category_id HAVING nb > 6 ORDER BY nb DESC LIMIT 10;
SELECT CONCAT(a.first_name, a.last_name) AS actor_name, c.name, COUNT(*) as nb FROM category c JOIN film_category fc ON c.category_id = fc.category_id JOIN film f ON f.film_id = fc.film_id JOIN film_actor fa ON fa.film_id = f.film_id JOIN actor a ON a.actor_id = fa.actor_id GROUP BY a.actor_id, c.category_id HAVING nb > 6 ORDER BY nb DESC LIMIT 10;

Ce que les gens ratent souvent avec SQL

La syntaxe :
Si le langage est construit de manière à être lu par des anglophones, la syntaxe est parfois perturbante pour des personnes habituées à utiliser des langages algorithmiques.
La modélisation :
Interroger une base de données nécessite de connaître la base de données, et par définition, cette structure change à chaque projet.

ORMs connus

Avec une base de données, on n’utilise pas de framework. Par contre, on utilise ce qu’on appelle un ORM (Object Relational Mapper) qui simplifie les échanges entre le code et la base de données. Cet ORM est constitué de fichiers de code et est très souvent intégré à un framework.

  • Eloquent (au sein de Laravel)
  • Doctrine (au sein de Symfony)
  • Entity Framework (avec C#)
  • Hibernate et JPA (avec Java)
  • Sequelize (avec JavaScript)

Découvrir d'autres thématiques

Si nous avons réussi à piquer votre curiosité et que vous souhaitez découvrir d'autres fiches thématiques :