SQL dotazy k nezaplacení
Náhrada jednoho řetězce za druhý v libovolné tabulce a poli
UPDATE table_name
SET field_name = replace( field_name, 'tohle_najdi', 'timhle_nahrad' );
k nezaplacení např. při přesunu webu na jinou adresu, lze tak nahradit absolutní URL obrázků, siteurl-homeurl nebo guide
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://stara.cz', 'http://nova.cz');
UPDATE wp_posts SET guid = REPLACE(guid, 'http://stara.cz', 'http://nova.cz');
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://stara.cz', 'http://nova.cz');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://stara.cz', 'http://nova.cz');
Tento způsob ale bohužel neřeší případ tzv. serializovaných dat. Při migraci WP na jiné url je proto jistější použít nějaký specializovaný nástroj pro náhradu v serializovaných datech, např.:
http://pixelentity.com/…lace-domain/,
https://interconnectit.com/…s-databases/
nebo pluginy WP Migrate DB či Better Search Replace.
WP Migrate DB migrates your database by running find & replace on URLs and file paths, handling serialized data, and saving an SQL file.
Někdy je potřeba jen přidat text na konec obsahového pole
UPDATE wp_posts SET post_content =
concat(post_content, ' ...') WHERE post_type = 'post';
nebo hromadně nahradit url uvedené komentátorem
UPDATE wp_comments
SET comment_author_url =
REPLACE( comment_author_url, 'http://www.stara.cz', 'http://www.nova.cz');
Změna hesla
UPDATE 'wp_users'
SET 'user_pass' = MD5('PASSWORD') WHERE 'user_login' ='admin' LIMIT 1;
Přesun příspěvků z jednoho autora na jiného
UPDATE wp_posts
SET post_author=NEW_AUTHOR_ID
WHERE post_author=OLD_AUTHOR_ID;
Vymazání revizí a souvisejících metainformací
DELETE a,b,c FROM wp_posts a
WHERE a.post_type = 'revision'
LEFT JOIN wp_term_relationships b
ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);
Dávkové vymazání komentářů označených jako spam
DELETE from wp_comments WHERE comment_approved = '0';
Nalezení nevyužitých tagů
SELECT * From wp_terms wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id
WHERE wtt.taxonomy='post_tag' AND wtt.count=0;
Výpis e-mailů vašich komentátorů
SELECT DISTINCT comment_author_email
FROM wp_comments;
Vymazání všech tagů u příspěvků najednou
DELETE a,b,c
FROM
database.prefix_terms AS a
LEFT JOIN database.prefix_term_taxonomy AS c ON a.term_id = c.term_id
LEFT JOIN database.prefix_term_relationships AS b
ON b.term_taxonomy_id = c.term_taxonomy_id
WHERE (c.taxonomy = 'post_tag' AND c.count = 0);
Výpis všech nepotřebných post meta záznamů
SELECT * FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL;
Hromadné vypnutí komentářů u starších příspěvků
UPDATE wp_posts SET comment_status = 'closed'
WHERE post_date < '2009-01-01' AND post_status = 'publish';
Deaktivace všech pluginů
UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';
Zdroj: