Showing entries 1 to 10 of 21
Suivant 10 Entrées plus anciennes »
Displaying posts with tag: sql (reset)
MySQL Toolkit

J’ai finalement fait mon premier vrai commit sur GitHub, MySQL Toolkit.  Ce repository, avec un peu de temps, deviendra une collection de scripts, de fonctions, de procédures stockées et d’un tas d’autres choses utiles lorsque vous travaillez avec MySQL.  Pour l’instant toutefois, il n’y a que des fonctions.

Ce premier commit comprend:

collapse_blanks : Replaces multiple blanks with a single space.
collapse_spaces : Replaces multiple spaces with a single space.
initcap : Returns a character string with the first letter of each word converted to uppercase. This function EXACTLY mimics INITCAP of Oracle.
occurrences : Returns …

[Lire plus]
Slides du MySQL Day Paris 2018 – NoSQL + SQL = MySQL

Au nom de toute l'équipe MySQL, je souhaite vous remercier pour votre présence !

On a certes dû un peu pousser les murs (sorry for that), mais finalement cela n'a fait que contribuer à rendre l'événement encore plus convivial :)

Et voici les slides:

The post Slides du MySQL Day Paris 2018 – NoSQL + SQL = MySQL first appeared on dasini.net - Journal d'un expert MySQL.

occurrencesOf

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; …
[Lire plus]
sqlmap

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

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

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

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

NULL pour les nuls!

Apprendre à composer avec les particularités de la valeur NULL en SQL, c’est parfois chiant et difficile.  Mais c’est possible, quand on sait comment s’y prendre et qu’on évite les pièges.  Tel qu’expliqué ici.

Des requêtes à problèmes?

Quand MySQL se me à déraper, c’est habituellement l’oeuvre de quelques requêtes SQL problématiques.  Un petit rappel pour vous aider à trouver la/les coupables!

Les plaques du Congo

Comment générer une clef séquentielle et incrémentale composée d’une partie numérique et d’un suffixe lettré?

Comme c’est une situation souvent rencontrée et que les gens détestent habituellement s’attaquer aux procédures stockées et/ou évitent d’utiliser leur langage de programmation favori (pour avoir une solution à 100% en SQL), j’ai pensé vous montrer le problème qu’on m’a demandé de résoudre en SQL et ma solution (qui peut facilement être adaptée aux problèmes similaires)…

Dans le cas qui nous intéresse, il s’agit de plaques d’immatriculation de la République du Congo (format CEMAC).


/*
En supposant la définition suivante

CREATE TABLE plaques(plaque VARCHAR(10));

Et le format de plaque …
[Lire plus]
Showing entries 1 to 10 of 21
Suivant 10 Entrées plus anciennes »