Les fonctions et fonctionnalités
MariaDB
Christophe Villeneuve
@hellosct1
Stéphane Varoqui
@svaroqui
Le 29/01/2015 – M...
   
Qui ?
Stéphane Varoqui Christophe Villeneuve
<<
afup – lemug.fr – mysql – mariadb – drupal – demoscene – firefoxos – d...
Les points d'aujourd'hui
● Les fonctions
● Les fonctionnalités
   
5
fonctions
   
Microseconds
✔ Précision date-heure
✔ Avant
– TIME
– DATETIME
– TIMESTAMP
✔ Dispo MariaDB 5.3+
– temporal functions
– ...
   
✔ Create table t1 (d
DATETIME) ;
✔ Insert INTO t1 values....
✔
Select * from t1 ;
✔ Create table t2
(d DATETIME (6) ) ...
   
PCRE 
✔ Disponible MariaDB 10.0+
✔ Expressions régulières
✔ Compatible
● REGEXP
● RLIKE operator
✔ Fonctionne
– Multi ...
   
✔ Fonction de remplace
SELECT REGEXP_REPLACE('ab12cd','[0-9]','') AS r;
→ abcd
Exemple (PCRE) (1/2)
✔ Retourne 1ère po...
   
✔ Retourne la partie correspondante d'une chaine
SELECT REGEXP_SUBSTR(
'http://www.lemug.fr/category/actualites/',
'ht...
   
Colonnes Virtuelles
✔ Disponible MariaDB 5.2+
✔ Colonne dans une table qui sa valeur calculée
automatiquement
✔ 2 type...
   
> CREATE TABLE table1 (
a INT NOT NULL,
b VARCHAR(32),
c INT AS (a mod 10) VIRTUAL,
d VARCHAR(5) AS (left(b,5)) PERSIS...
   
> INSERT INTO table1 VALUES
(1, 'some text',default,default),
(2, 'more text',5,default),
(123, 'even more text',defau...
   
Colonnes dynamiques
✔ Dispo MariaDB 5.3+
✔ Pont entre les BDD relationnelles et non
relationnelles
✔ Toutes les colonn...
   
create table newsql( 
id int 
    auto_increment    
    primary key,
nom varchar(40),
type enum 
     ('animal',
    ...
   
Exemple (colonne dynamique) 2/3
>INSERT into newsql values (NULL, 'Atari' ,'ordinateur',500, 
COLUMN_CREATE('couleur',...
   
Exemple (colonne dynamique) 3/3
>SELECT nom, COLUMN_JSON(nosql) FROM newsql;
>SELECT id,type,nom,
COLUMN_GET(nosql, 'c...
   
Sequence Engine
✔ Dispo MariaDB 10.0.3+
✔ Une fonction en Storage Engine
✔ Pas de création & pas de lecture de table
✔...
   
> select * FROM seq_1_to_3;
Exemple (Sequence) 1/2
> select * FROM seq_5_to_1_step_2;
   
✔ Calcul de date
Ex : Connaître le jour de la semaine d'une date
donnée :
✔ exemple : Le 1er Janvier tombe… Quand ?
> ...
   
Les fonctionnalités
   
La suite est disponible
http://fr.slideshare.net/lemugfr/les­fonctionnalites­mariadb
   
Merci
Prochain SlideShare
Chargement dans…5
×

Les fonctions MariaDB - LeMug.fr

1 022 vues

Publié le

Présentation de 5 fonctions MariaDB' au Meetup LeMug.fr "Les bonnes pratiques avec MariaDB" le 29 janvier 2015 par Christophe Villeneuve

Publié dans : Internet
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 022
Sur SlideShare
0
Issues des intégrations
0
Intégrations
245
Actions
Partages
0
Téléchargements
11
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Les fonctions MariaDB - LeMug.fr

  1. 1.     Les fonctions et fonctionnalités MariaDB Christophe Villeneuve @hellosct1 Stéphane Varoqui @svaroqui Le 29/01/2015 – Meetup ­ Les bonnes pratiques avec MariaDB
  2. 2.     Qui ? Stéphane Varoqui Christophe Villeneuve << afup – lemug.fr – mysql – mariadb – drupal – demoscene – firefoxos – drupagora – phptour – forumphp – solutionlinux – demoinparis – ici et maintenant – eyrolles – editions eni – programmez – linux pratique – webriver – phptv – neuros ­ elephpant
  3. 3. Les points d'aujourd'hui ● Les fonctions ● Les fonctionnalités
  4. 4.     5 fonctions
  5. 5.     Microseconds ✔ Précision date-heure ✔ Avant – TIME – DATETIME – TIMESTAMP ✔ Dispo MariaDB 5.3+ – temporal functions – CAST – dynamic columns Source : https://mariadb.com/kb/en/mariadb/microseconds­in­mariadb/
  6. 6.     ✔ Create table t1 (d DATETIME) ; ✔ Insert INTO t1 values.... ✔ Select * from t1 ; ✔ Create table t2 (d DATETIME (6) ) ; ✔ Insert Into t2 values ('2011-03-11'), ('2012-04-19 13:08:22'), ('2013-07-18 13:44:22.123456'); ✔ Select * from t2 ; Avant MariaDB 5.3+ Exemple (Microseconds)
  7. 7.     PCRE  ✔ Disponible MariaDB 10.0+ ✔ Expressions régulières ✔ Compatible ● REGEXP ● RLIKE operator ✔ Fonctionne – Multi caractères Source : https://mariadb.com/kb/en/mariadb/pcre/
  8. 8.     ✔ Fonction de remplace SELECT REGEXP_REPLACE('ab12cd','[0-9]','') AS r; → abcd Exemple (PCRE) (1/2) ✔ Retourne 1ère position SELECT REGEXP_INSTR('abc','b') ; → 2 SELECT REGEXP_INSTR('hello','o') ; → 5
  9. 9.     ✔ Retourne la partie correspondante d'une chaine SELECT REGEXP_SUBSTR( 'http://www.lemug.fr/category/actualites/', 'http?://[^/]*') → http://www.lemug.fr Exemple (PCRE) (2/2)
  10. 10.     Colonnes Virtuelles ✔ Disponible MariaDB 5.2+ ✔ Colonne dans une table qui sa valeur calculée automatiquement ✔ 2 types : – VIRTUAL : sur le principe d'une vue – PERSISTENT : Calculé lorsque les données sont insérées et stockées dans une table Source : https://mariadb.com/kb/en/virtual­columns/
  11. 11.     > CREATE TABLE table1 ( a INT NOT NULL, b VARCHAR(32), c INT AS (a mod 10) VIRTUAL, d VARCHAR(5) AS (left(b,5)) PERSISTENT ); > DESCRIBE table1; Exemple (Colonnes Virtuelles) (1/2)
  12. 12.     > INSERT INTO table1 VALUES (1, 'some text',default,default), (2, 'more text',5,default), (123, 'even more text',default,'something'); > Select * from table1; Exemple (Colonnes Virtuelles) (2/2)
  13. 13.     Colonnes dynamiques ✔ Dispo MariaDB 5.3+ ✔ Pont entre les BDD relationnelles et non relationnelles ✔ Toutes les colonnes stockées dans un 'blob' ✔ Possibilité de manipuler ✔ Possibilité de créer des index virtuels Source : https://mariadb.com/kb/en/mariadb/dynamic­columns/
  14. 14.     create table newsql(  id int      auto_increment         primary key, nom varchar(40), type enum       ('animal',      'ordinateur'), prix int, nosql blob); COLUMN_CREATE( column_nr,  value [as type], [ column_nr,  value [as type] ],  ...) Exemple (colonne dynamique) 1/3 ID nom type Prix blob Multi produits
  15. 15.     Exemple (colonne dynamique) 2/3 >INSERT into newsql values (NULL, 'Atari' ,'ordinateur',500,  COLUMN_CREATE('couleur', 'Noir', 'type' , 'STe')); >INSERT into newsql values (NULL, 'elePHPant','animal',20,  COLUMN_CREATE('taille', 'normal', 'description' , 'peluche')); >UPDATE newsql SET nosql = COLUMN_ADD(nosql, 'couleur' , 'blue')  WHERE id=2; ID Nom type prix couleur type taille description 1 Atari Ordinateur 500 Noir Ste 2 elePHPant animal 20 bleu normal peluche >SELECT nom, column_list (nosql) FROM newsql; Multi produits
  16. 16.     Exemple (colonne dynamique) 3/3 >SELECT nom, COLUMN_JSON(nosql) FROM newsql; >SELECT id,type,nom, COLUMN_GET(nosql, 'couleur' as char) AS couleur,prix FROM newsql; Multi produits
  17. 17.     Sequence Engine ✔ Dispo MariaDB 10.0.3+ ✔ Une fonction en Storage Engine ✔ Pas de création & pas de lecture de table ✔ Principe : ✔ Génère à la volée une séquence de nombres entiers ✔ Résultat retourné à votre requête ✔ La fonction disparaît ✔ Plugin nécessaire à installer : ha_sequence > install soname "ha_sequence"; Source : https://mariadb.com/kb/en/mariadb/sequence
  18. 18.     > select * FROM seq_1_to_3; Exemple (Sequence) 1/2 > select * FROM seq_5_to_1_step_2;
  19. 19.     ✔ Calcul de date Ex : Connaître le jour de la semaine d'une date donnée : ✔ exemple : Le 1er Janvier tombe… Quand ? > SELECT DAYNAME('2015-01-01' + INTERVAL (seq) YEAR) day, '2015-01-01' + INTERVAL (seq) YEAR date FROM seq_0_to_10; Exemple (Sequence) 2/2
  20. 20.     Les fonctionnalités
  21. 21.     La suite est disponible http://fr.slideshare.net/lemugfr/les­fonctionnalites­mariadb
  22. 22.     Merci

×