varias tablas registros numero limitar ejemplos datos consultas consulta con mysql phpmyadmin

tablas - limitar numero de registros en consulta mysql



Busque y reemplace texto en toda la tabla usando una consulta de MySQL (9)

Generar consultas de cambio de SQL (FAST)

mysql -e "SELECT CONCAT (''update'', table_name, ''set'', column_name, ''= replace ('', column_name, '','' ''www.oldsite.com'' '','' ''www.newsite.com'' ''); '') AS declaración DE information_schema.columns WHERE table_name LIKE'' wp_% ''"-u root -p your_db_name_here> upgrade_script.sql

Eliminar cualquier basura al inicio del archivo. Tuve algunos.

nano upgrade_script.sql

Ejecute el script generado con --force opciones para omitir errores. (LENTO - tomar un café si es grande DB)

mysql -u root -p tu_bd_nombre_aquí - fuerza <upgrade_script.sql

Por lo general, uso la búsqueda manual para reemplazar texto en una base de datos MySQL usando phpmyadmin. Estoy cansado de eso ahora, ¿cómo puedo ejecutar una consulta para encontrar y reemplazar un texto con texto nuevo en toda la tabla en phpmyadmin?

Ejemplo: encuentre la palabra clave domain.com , reemplace con www.domain.com .


Coloca esto en un archivo php y ejecútalo, y debería hacer lo que quieras que haga.

// Connect to your MySQL database. $hostname = "localhost"; $username = "db_username"; $password = "db_password"; $database = "db_name"; mysql_connect($hostname, $username, $password); // The find and replace strings. $find = "find_this_text"; $replace = "replace_with_this_text"; $loop = mysql_query(" SELECT concat(''UPDATE '',table_schema,''.'',table_name, '' SET '',column_name, ''=replace('',column_name,'', ''''{$find}'''', ''''{$replace}'''');'') AS s FROM information_schema.columns WHERE table_schema = ''{$database}''") or die (''Cant loop through dbfields: '' . mysql_error()); while ($query = mysql_fetch_assoc($loop)) { mysql_query($query[''s'']); }


Creo que "swapnesh" responde para ser el mejor! Desafortunadamente, no pude ejecutarlo en phpMyAdmin (4.5.0.2) que, aunque era ilógico (y probó varias cosas) seguía diciendo que se había encontrado una nueva declaración y que no se había encontrado ningún delimitador ...

Por lo tanto, vine con la siguiente solución que podría ser útil si experimenta el mismo problema y no tiene otro acceso a la base de datos que PMA ...

UPDATE `wp_posts` AS `toUpdate`, (SELECT `ID`,REPLACE(`guid`,''http://old.tld'',''http://new.tld'') AS `guid` FROM `wp_posts` WHERE `guid` LIKE ''http://old.tld%'') AS `updated` SET `toUpdate`.`guid`=`updated`.`guid` WHERE `toUpdate`.`ID`=`updated`.`ID`;

Para probar el resultado esperado es posible que desee utilizar:

SELECT `toUpdate`.`guid` AS `old guid`,`updated`.`guid` AS `new guid` FROM `wp_posts` AS `toUpdate`, (SELECT `ID`,REPLACE(`guid`,''http://old.tld'',''http://new.tld'') AS `guid` FROM `wp_posts` WHERE `guid` LIKE ''http://old.tld%'') AS `updated` WHERE `toUpdate`.`ID`=`updated`.`ID`;


Ejecutar una consulta SQL en PHPmyadmin para buscar y reemplazar texto en todas las publicaciones del blog de wordpress, como encontrar mysite.com/wordpress y reemplazarlo con mysite.com/news La tabla en este ejemplo es tj_posts

UPDATE `tj_posts` SET `post_content` = replace(post_content, ''mysite.com/wordpress'', ''mysite.com/news'')


La forma más fácil que he encontrado es volcar la base de datos en un archivo de texto, ejecutar un comando sed para realizar la sustitución y volver a cargar la base de datos en MySQL.

Todos los comandos son bash en Linux, desde la memoria.

Volcar la base de datos a un archivo de texto

mysqldump -u user -p databasename > ./db.sql

Ejecute el comando sed para encontrar / reemplazar la cadena de destino

sed -i ''s/oldString/newString/g'' ./db.sql

Actualizar la base de datos en MySQL

mysql -u user -p databasename < ./db.sql

Pan comido.


Otra opción es generar las declaraciones para cada columna en la base de datos:

SELECT CONCAT( ''update '', table_name , '' set '', column_name, '' = replace('', column_name,'', ''''www.oldDomain.com'''', ''''www.newDomain.com'''');'' ) AS statement FROM information_schema.columns WHERE table_schema = ''mySchema'' AND table_name LIKE ''yourPrefix_%'';

Esto debería generar una lista de instrucciones de actualización que luego puede ejecutar.


Para una actualización de una single table

UPDATE `table_name` SET `field_name` = replace(same_field_name, ''unwanted_text'', ''wanted_text'')

De multiple tables -

Si desea editar desde todas las tablas, la mejor manera es tomar el dump y luego find/replace y volver a cargarlo.


lo mejor es exportarlo como archivo sql y abrirlo con un editor como Visual Studio Code y encontrar y cambiar sus palabras. Reemplazo en 1 archivo de archivo sql en 1 minuto por 16 palabras, el total es 14600 palabras. es la mejor manera y después de reemplazarlo guardarlo e importarlo de nuevo. No olvides comprimirlo con zip para su importación.


UPDATE table SET field = replace(field, text_needs_to_be_replaced, text_required);

Como por ejemplo, si quiero reemplazar todas las apariciones de John por Mark, las usaré a continuación.

UPDATE student SET student_name = replace(student_name, ''John'', ''Mark'');