SQL dotazy k nezaplacení

**Náhrada jednoho řetězce za druhý v libovolné tabulce a poli**

/—code php
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

/—code php

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“:http://stackoverflow.com/questions/11817950/what-is-data-serialization. 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/wordpress-search-replace-domain/“:http://pixelentity.com/wordpress-search-replace-domain/,

„https://interconnectit.com/products/search-and-replace-for-wordpress-databases/“:https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

nebo pluginy „WP Migrate DB“:https://wordpress.org/plugins/wp-migrate-db/ či „Better Search Replace“:https://wordpress.org/plugins/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

/—code php
UPDATE wp_posts SET post_content =
concat(post_content, ‚ …‘) WHERE post_type = ‚post‘;
\—

nebo hromadně nahradit url uvedené komentátorem

/—code php
UPDATE wp_comments
SET comment_author_url =
REPLACE( comment_author_url, ‚http://www.stara.cz‘, ‚http://www.nova.cz‘);
\—

**Změna hesla**

/—code php
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**

/—code php
UPDATE wp_posts
SET post_author=NEW_AUTHOR_ID
WHERE post_author=OLD_AUTHOR_ID;
\—

**Vymazání revizí a souvisejících metainformací**

/—code php
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**

/—code php
DELETE from wp_comments WHERE comment_approved = ‚0‘;
\—

**Nalezení nevyužitých tagů**

/—code php
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ů
/—code php
SELECT DISTINCT comment_author_email
FROM wp_comments;
\—

**Vymazání všech tagů u příspěvků najednou**
/—code php
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ů**

/—code php
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ů**

/—code php
UPDATE wp_posts SET comment_status = ‚closed‘
WHERE post_date < ‚2009-01-01‘ AND post_status = ‚publish‘;
\—

**Deaktivace všech pluginů**

/—code php
UPDATE wp_options SET option_value = “ WHERE option_name = ‚active_plugins‘;
\—

**Zdroj:**

„http://www.catswhocode.com/blog/wordpress-10-life-saving-sql-queries“:http://www.catswhocode.com/blog/wordpress-10-life-saving-sql-queries

„http://www.onextrapixel.com/2010/01/30/13-useful-wordpress-sql-queries-you-wish-you-knew-earlier/“:http://www.onextrapixel.com/2010/01/30/13-useful-wordpress-sql-queries-you-wish-you-knew-earlier/