SQL et Git

29 novembre 2018

Un excellent article sur la gestion des requêtes SQL avec Git!  Par ailleurs, le blog de Caitlin Hudon vaut amplement le détour!

Publicités

occurrencesOf

20 novembre 2018

Comment trouver le nombre d’occurrences d’une chaîne de caractères dans MySQL?  J’en avais déjà parlé ici en français et aussi en anglais.

Pour se faciliter la vie, rien de mieux qu’une fonction pour faire le travail!

 

SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES';

DROP FUNCTION IF EXISTS occurrencesOf;

DELIMITER //
CREATE FUNCTION occurrencesOf ( sourceString VARBINARY(255), searchString VARBINARY(255))
RETURNS MEDIUMINT UNSIGNED
DETERMINISTIC
LANGUAGE SQL
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT 'Returns the number of occurrences of <searchString> inside <sourceString>'

BEGIN
DECLARE occ MEDIUMINT UNSIGNED;

SELECT FLOOR(( CHAR_LENGTH(sourceString) - CHAR_LENGTH(REPLACE(sourceString, searchString, '')) ) / (CHAR_LENGTH(searchString))) INTO occ;

RETURN occ;
END
//

DELIMITER ;
SET SQL_MODE=@OLD_SQL_MODE;

P.S.  J’ai l’intention de publier plusieurs fonctions utilitaires du genre.  D’ici à ce que je m’organise sur GitHub, je publierai le code de ces procédures et/ou fonctions ici en attendant!



L’ordre d’exécution en SQL

23 septembre 2018

Petit rappel toujours le bienvenu sur l’ordre d’exécution en SQL ici.


sqlmap

6 avril 2018

Votre base de données est-elle sécurisée et sécuritaire?  Il existe un moyen facile de le savoir rapidement : l’outil sqlmap !  Un outil open source et facile d’utilisation!

Sqlmap supporte les bases de données MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB, HSQLDB et Informix !!


Les requêtes paginées

12 février 2018

C’est une question qui revient ad nauseam sur IRC et dans les forums de discussions : comment paginer les résultats d’une requête de manière efficace?

Pour m’éviter de répéter sans cesse les mêmes explications, j’ai finalement trouvé un texte clair qui explique comment effectuer des requêtes paginées de façon performante et intelligente.

Bien que l’article traite de MySQL, les mêmes principes de base s’appliquent aux autres SGBD.


Group by de 4 manières

12 février 2018

Différentes subtilités du GROUP BY en MySQL expliquées pour chacune des 4 versions.  Variations sur un même thème expliquées ici!


MySQL 8.0 et l’optimiseur de requêtes

10 décembre 2017

C’était attendu depuis longtemps : MySQL 8.0 aura un optimiseur de requête amélioré et encore plus intelligent!  Les détails ici.