Accueil - SQL Tout afficher

PostGreSQL – Tester une requête SQL avant de l’appliquer

Wakonda - PostgreSQL, SQL Posté le 30 août 2018

Avant de lancer une requête SQL pour ajouter, supprimer, ou mettre à jour des données dans une base, il peut être utile de la tester afin d’éviter au maximum les désagréments qui pourraient survenir.

Pour ce faire, PostGresSQL nous fournit un mécanisme connut sous le nom de Transaction.

Dans l’exemple ci-dessous, on enveloppe une requête de suppression « DELETE » entre les mots-clés « BEGIN » et « ROLLBACK ». La requête de suppression va s’exécuter sans altérer la base de données. On peut ainsi mesurer les conséquences de la requête sur nos données :

BEGIN;

DELETE FROM article WHERE is_active = false;

SELECT title FROM article WHERE is_active = false;

ROLLBACK;

SELECT title FROM article WHERE is_active = false;

 

Lire ...

Wamp : MySQL refuse de démarrer

Wakonda - SQL Posté le 4 novembre 2015

Il n'y a rien de plus frustrant de démarrer WAMP et que de constater que l'icône reste invariablement "orange" malgré plusieurs redémarrages. Si cela vous est déjà arrivé, vous pouvez tenter la manipulation suivante : allez dans le dossier "data" de MySQL ("C:\wamp\bin\mysql\mysql5.6.17\data"). Vous devriez y trouver les fichiers suivants : auto.cnf, xxxxxxxxx.err, xxxxxxxxx.pid, ib_logfile0 and ib_logfile1. Supprimez les tous et relancez Wamp. Il devrait démarrer sans aucun problème !

Lire ...

Récupérer une base de données MySQL avec les fichiers *.ibd et *.frm

Wakonda - SQL Posté le 3 novembre 2015

Il peut arriver dans la vie d'un développeur qu'il perde malencontreusement les données d'une table et qu'il ne lui reste plus que des fichiers *.ibd et *.frm pour se consoler. Heureusement, il existe une technique pour recouvrer sa base de données avec toutes ses tables et, bien entendu, les données.

Avant de débuter ce tutoriel, prenez l'ensemble de vos fichier *.frm et *.ibd et copier afin d'éviter de predre vos précieuses données au cas où une étape échouerait.

La première consiste à recréer la table. Pour cela, nous allons nous servir d'un utilitaire fourni par MySQL et appelé "mysqlfrm.exe". Pour commencer, ouvrez une console ("cmd.exe") en mode administrateur. Placez-vous dans le dossier où se trouve l'exécutable précité puis la commande suivante :

mysqlfrm --server=root:motdepasse@localhost:3306 C:\wamp\bin\mysql\mysql5.6.17\data\nom_de_votre_bdd\nom_de_votre_table.frm --port=3310

En lançant cette commande, la console va vous afficher la commande SQL permettant la création de votre table (elle commencera par "CREATE TABLE ...") avec toutes les colonnes qui s'y trouvaient originellement. Copiez cette commande SQL, créez votre base de données et collez-la avant de l'exécuter. Votre table devrait se créer sans aucun problème. Vous devrez répéter cette opération pour l'ensemble de vos tables.

Récupération des données

Maintenant que vos tables sont prêtes, il va falloir les remplir. Les opérations qui suivent doivent faites pour toutes les tables à restaurer. Commencez par lancer la requête SQL suivante :

ALTER TABLE `nom_de_votre_table` DISCARD TABLESPACE;

Prenez le fichier *.ibd de la première table et copiez-le dans le dossier "C:\wamp\bin\mysql5.6.17\nom_de_votre_bdd\". Pour finir, lancez la requête suivante :

ALTER TABLE `nom_de_votre_table` IMPORT TABLESPACE;

Et là, le miracle devrait s'opérer ; en ouvrant la table vous devrez retrouver toutes vos données !

Resources utiles :

Lire ...

Rechercher

Tags

Publicité

Suivez-nous

Aidez-nous !


Loading…
Loading the web debug toolbar…
Attempt #