OpenDBViewer 1.0.1, lecteur de base de données léger SQLite & MySQL

Posté par (page perso) . Édité par Davy Defaud, ZeroHeure, Yvan Munoz, Pierre Jarillon et palm123. Modéré par Xavier Claude. Licence CC by-sa
Tags :
27
12
sept.
2017
Base de données

OpenDBViewer est un petit logiciel qui permet dans une interface très simple de se connecter à une base de données SQLite ou MySQL.

Je l’avais d’abord conçu en Python pour mes besoins personnels et professionnels. Ce logiciel a été ensuite converti en C++ avec Qt. Bien qu’il soit opérationnel, beaucoup de choses pourraient l’améliorer. Pour cela, les contributions des utilisateurs et des développeurs sont chaleureusement espérées.

Wiki Tuto - Chercher présence d'une sous chaîne dans une chaîne avec MySQL grâce à LIKE

1
25
fév.
2017

Introduction

Admettons que nous possédions une table "articles" contenant une cellule "quelleCategorie". Dans cette cellule nous indiquons une ou plusieurs catégories pour chaque articles comme dans l'exemple suivant :

    id | nomArticle | quelleCategorie | dateCreation
    1 | banane | fruits | 5
    2 | jus d'orange | jus de fruits | 9
    3 | tomate | fruits ; legumes | 22
    4 | maison | immobilier | 42

Admettons que nous désirons récupérer tout les articles ayant "fruit" dans "quelleCategorie". Avec l'option LIKE nous allons pouvoir spécifier un filtrage par motif (ou "pattern matching") afin de récupérer banane, jus d'orange et tomate et ce même si chacun possède une version légèrement différente de la catégorie.
À noter que vous pouvez aussi utiliser NOT LIKE qui vous permet de faire exactement l'inverse : demander à MySQL de ne retourner que les chaînes où n'est PAS présent le pattern.
Attention : une mauvaise utilisation de LIKE peut engendrer une chute des performances et une augmentation du travail pour le CPU du serveur MariaDB/MySQL.

L'exemple suivant va sélectionner dans la table "articles" tout les éléments ayant dans leur cellule "quelleCategorie" la sous-chaîne contenue dans la variable $categorieChoisie, classés du plus récent aux plus anciens.

<?php
$bdd_hostname = "localhost";
$bdd_name = "nomDeMaBase";
$bdd_login = "loginDeMaBase";
$bdd_password = "passowrdDeMaBase";
try {
    $bdd = new PDO('mysql:host='.$bdd_hostname.';dbname='.$bdd_name.';charset=utf8', $bdd_login, $bdd_password);
} catch( Exception $e){
    error_log("Error BDD connexion from ".$_SERVER["PHP_SELF"]);
}

$categorieChoisie = "fruit";

$requestSQL = $bdd->prepare('SELECT `*` FROM articles WHERE `quelleCategorie` LIKE %{:categorieChoisie}%  ORDER BY `dateCreation`');
$requestSQL->bindParam(':categorieChoisie', strval($categorieChoisie), PDO::PARAM_STR);
$requestSQL->execute();
$myArticles = $requestSomeArticles->fetchAll(PDO::FETCH_CLASS);
print_r($myArticles);
?>

Explication en détails :

  1. On tente de connecter PDO à la base de données, si on réussi on obtient l'objet $bdd si non on retourne une erreur dans les logs (/var/log/apache2/error.log pour apache2)
try {
    $bdd = new PDO('mysql:host='.$bdd_hostname.';dbname='.$bdd_name.';charset=utf8', $bdd_login, $bdd_password);
} catch( Exception $e){
    error_log("Error BDD connexion from ".$_SERVER["PHP_SELF"]);
}
  1. On défini notre sous chaîne à rechercher : fruit
$categorieChoisie = "fruit";
  1. On demande a PDO de préparer notre requête à partir de l'objet $bdd
$requestSQL = $bdd->prepare('SELECT `*` FROM articles WHERE `quelleCategorie` LIKE %{:categorieChoisie}%  ORDER BY `dateCreation`');
  • Ici on lui demande de tout (*) récupérer dans "articles" où "quelleCategorie" ressemble à la chaîne injectée, ordonnée (ORDER BY) par leur date de création.
  1. On injecte le paramètre de recherche (fruit)
$requestSQL->bindParam(':categorieChoisie', strval($categorieChoisie), PDO::PARAM_STR);
  1. On exécute la requête SQL
$requestSQL->execute();
  1. On récupère le résultat de la requête SQL sous forme d'objet
$myArticles = $requestSomeArticles->fetchAll(PDO::FETCH_CLASS);
  1. Si vous préférez récupérer sous forme de tableau, remplacez la précédente ligne par les suivantes
$myArticles = array();
while($tmpArticle = $requestSomeArticles->fetch(PDO::FETCH_ASSOC)){
    $myArticles[] = $tmpArticle;
}
  1. On affiche le résultat
print_r($myArticles);

Forum Programmation.SQL Performances des SGBD

Posté par . Licence CC by-sa
1
15
déc.
2014

Hello,

Je suis à la recherche de benchmark, ou d'une étude sur les consommations ressources et temps de réponses des différents SGBD comme MySQL, Oracle, PostGreSql.

Savoir suivant la charge de la BDD (petite, moyenne, grosse) quels sont les temps d'accès, d'un insert,d'un select etc…

J'ai fouillé un peu sur internet, mais rien de bien m'est apparu si ce n'est les best-practices pour optimiser sa BDD.

Si vous avez vous-mêmes réalisé des tests, n'hésitez pas à me partager votre méthodologie (...)

Forum Programmation.SQL Intégration du Qr Code

Posté par . Licence CC by-sa
0
30
juil.
2014

Bonjour,

Je me construis une petite base de données pour une appli (android) que l'on développe avec un ami.
Explication rapide de l'appli : On se sert d'un smartphone pour scanner le QrCode qui nous renverra une liste d'information sur le produit (nom, numéro de série, marque, prix etc…)

Par contre je ne vois absolument comment intégrer le QrCode dans la base de données, en gros on stocke l'image du QrCode dans la BDD et quand il y matching des (...)

Apéro PHP à Lyon le mercredi 29 janvier

Posté par . Édité par Benoît Sibaud et Xavier Teyssier. Modéré par ZeroHeure. Licence CC by-sa
Tags :
7
15
jan.
2014
PHP

Un apéro PHP aura lieu à Lyon le mercredi 29 janvier à partir de 19h à l'Antre-Autre (11 rue terme, Lyon 1er). Les apéros PHP sont ouverts à tous, quel que soit leur niveau. Le but est de rencontrer d’autres développeurs PHP de la région lyonnaise, de boire un verre ensemble, de discuter de tout et de rien, en fonction des envies de chacun.

Lors de cette soirée, une présentation de Behat sera effectuée, et notamment des nouveautés de la version 3. Behat est un outil permettant de faire du BDD (Behavior Driven Development). Cet outil va permettre d'écrire en langage naturel des scénarios décrivant le comportement de l'application.

Plus d'informations sont disponibles sur le site de l'AFUP Lyon.

Forum Programmation.autre Méthode pour gérer les montées de version de structure de base de données

Posté par . Licence CC by-sa
6
28
août
2013

Bonjour les linuxiens !

Je viens vers vous pour savoir comment vous géreriez ce cas là.
Je bosse sur un projet open-source depuis un petit moment et pour le moment les montées de versions ce font à chque fois fromscratch.

A chaque nouvelle version, ses évolutions de base de données et je sais pas trop encore comment aborder le pb…

Déjà j'ai créé une table "versions" avec la version courante afin de savoir quelle version est en cours.
Ensuite, j'ai commencé (...)

Forum Programmation.java Platefrome anonymisatrice

Posté par .
0
16
juin
2012

Bonjour chers amis,

Suite à un blocage pendant le développement de mon application dans le cadre de mon PFE intitulé Etude et développement d'une plateforme d'anonymisation de données, j'ai pensé me tourner vers vous pour solliciter votre aide.
En bref, cette application a pour but de récupérer des données sur des bases de données employées déjà existantes sur des BD dans les entreprises qui souhaiteront (alors à l'avance nous n'avons ni le modèle des BD ni le type mysql oracle (...)

Forum général.cherche-logiciel Agrégateur de flux RSS sans MySQL

Posté par (page perso) .
2
2
déc.
2011

Bonjour,

Après avoir cherché sur le net et ici (dans les forums / dépêche et journaux) je n'ai pas trouvé de réponses à cette question:

Existe-t-il une alternative à Google Reader de préférence en PHP qui n'utilise pas mysql ?
[edit]Ou plutot sans BDD ou une BDD sous forme de fichier.[/edit]

J'ai regardé du coté de Tiny Tiny RSS mais il l'utilise.

Alors ? est-ce que vous connaissez un tel logiciel ?

D'avance merci.
Mémiks.

[EDIT: amélioration de ma demande (...)

Des bases de données sociales aux réseaux sociaux

38
3
juil.
2011
Internet

Quelques sites très populaires ont mis à la mode le terme « réseau social ». Pourtant, ce terme dont usent et abusent les médias cache le caractère extrêmement centralisé de ces sites et avec lui les problèmes que posent le fait de confier des données personnelles à une entreprise unique.

Des alternatives décentralisés existent, même si elles n'ont pas encore la faveur des médias. Grâce à elles, les utilisateurs soucieux de leur vie privée peuvent passer des bases de données sociales aux réseaux sociaux.

Journal Commercialisation de la base de données des cartes grises

41
17
mai
2011

Je suis tombé sur cet article : L’Etat vend vos données personnelles de carte grise !.

Je me suis posé plusieurs questions:

  • Le mode d'opposition à la commercialisation des données personnelles est l'opt-out alors que les règlements européens et français ont jusqu'à présent toujours promu l'opt-in. Pourquoi l'état ne s'impose-t-il pas la règle appliquée aux sociétés privées ?

  • J'ai la possibilité de ne pas fournir de données personnelles à des services privés (Facebook, Google,...). Ce n'est (...)