Accueil - SQL Tout afficher
PostGreSQL – Tester une requête SQL avant de l’appliquer
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
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
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
Articles récents
- Quel est le but de l'attribut "role" en HTML ?
- Changer la couleur de l'espace réservé (placeholder)
- Attention à cet email d’arnaque !
- Supprimer un fichier d'un référentiel Git sans le supprimer du système de fichiers local
- JS - Récupérer le dernier élément d'un tableau
- JS - Prévisualiser une image avec son upload
- PHP - Convertir une chaîne de caractères en un booléen
- PHP : Vérifier si une session a déjà été démarrée
- Créer un APK ou un AAB en ligne de commandes
- L'opérateur !! en Javascript