Ajouter des entrées dans une table existante
Associer un mot clef à plusieurs articles
'INSERT INTO spip_mots_liens (id_mot, id_objet, objet) VALUES (3, 53, 'article'), (3, 52, 'article'), (3, 50, 'article');'
Source http://fr.wikihow.com/cr%C3%A9er-une-table-sous-MySQL
Modifier des entrées dans une table existante
Déplacer l’article n°1 dans la rubrique 5
UPDATE spip_articles SET id_rubrique="5" WHERE id_article=1;
Déplacer tous les articles du secteur 5 dans la rubrique 5 (pour supprimer les sous-rubrique)
UPDATE spip_articles SET id_rubrique="5" WHERE id_secteur=5;
Déplacer le contenu d’un champ dans un autre champ
Déplacer le contenu d’un champ extra Artiste dans le champ Sous-titre de SPIP
UPDATE spip_articles SET soustitre = 'artiste'
Trouver les documents qui ont plusieurs rôles et n’afficher que ceux sans rôle
SELECT * FROM spip_documents_liens
WHERE id_document IN
(
SELECT id_document FROM spip_documents_liens
GROUP BY id_document
HAVING COUNT(id_document)>1
)
AND role=""
Supprimer des entrées en fonction de la valeur d’un champs
Ex : supprimer tous les inscrits (aux newsletters) qui ont été mis à la poubelle.
DELETE FROM 'mailtosubscribers' WHERE 'statut' = 'poubelle'
Modifier du texte dans un certain champ d’une table
Ex : changer les url des images dans les anciennes newsletter suite à passage en https ou changement de d’arborescence de SPIP (mutualisé > non mutualisé)
UPDATE spip_newsletters SET html_email = REPLACE(html_email , 'http://www.domaine.net/sites/ancienne/arbo', 'https://www.domaine.net/nouvelle-arbo')
Connaître les tailles des tables d’une base de données MySQL
SELECT
TABLE_NAME,
CONCAT(ROUND(((DATA_LENGTH + INDEX_LENGTH - DATA_FREE) / 1024 / 1024), 2), 'Mo') AS TailleMo
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'nom_base_donnees'