{"id":225962,"date":"2022-08-17T13:32:00","date_gmt":"2022-08-17T10:32:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=225962"},"modified":"2022-11-08T01:31:58","modified_gmt":"2022-11-07T22:31:58","slug":"fragmentos-de-tabla-mysql-y-soluciones-a-problemas-comunes","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/fragmentos-de-tabla-mysql-y-soluciones-a-problemas-comunes\/","title":{"rendered":"Fragmentos de tabla MySQL y soluciones a problemas comunes"},"content":{"rendered":"\n<p>Fragmentos de tabla MySQL?<\/p>\n<p>S\u00ed, hay bastantes de ellos en este art\u00edculo. Pero antes de llegar a eso, \u00bfqu\u00e9 es MySQL? Comencemos con la definici\u00f3n de MySQL. MySQL es un sistema de gesti\u00f3n de bases de datos relacionales (RDBMS) de c\u00f3digo abierto respaldado por Oracle basado en el lenguaje de consulta estructurado (SQL).<\/p>\n<p>Las aplicaciones que utilizan la base de datos MySQL incluyen TYPO3, MODx, Joomla, WordPress, Simple Machines Forum, phpBB, MyBB y Drupal. MySQL tambi\u00e9n se usa en muchos sitios web de alto perfil y gran escala, incluidos Google (aunque no para b\u00fasquedas), Facebook, Twitter, Flickr y YouTube.<\/p>\n<p>Y despu\u00e9s de toda esa introducci\u00f3n, te das cuenta de que MySQL es m\u00e1s grande de lo que pensabas inicialmente. A menos que hayas estado en la industria por un tiempo. Sin embargo, si es un principiante y desea obtener m\u00e1s informaci\u00f3n sobre MySQL, la forma m\u00e1s f\u00e1cil de hacerlo es con fragmentos de tabla de MySQL.<\/p>\n<h2>Fragmentos de tabla MySQL<\/h2>\n<p><strong>Coincide con una cadena al principio de la cadena<\/strong><\/p>\n<p><code>SELECT 'Test' REGEXP '^The'; -- 0 SELECT 'The Test' REGEXP '^The'; -- 1<\/code><\/p>\n<p><strong>Si un nombre no tiene el prefijo &#8216;El&#8217;, agr\u00e9guelo<\/strong><\/p>\n<p><code>UPDATE [table] SET Name = CONCAT('The ', TRIM(Name)) WHERE Name NOT REGEXP '^The'<\/code><\/p>\n<p><strong>Copiar una columna de una tabla a otra<\/strong><\/p>\n<p><code>INSERT INTO [table] (<\/code><\/p>\n<p><code>) SELECT FROM [table]<\/code><\/p>\n<p><strong>Eliminar todos los espacios en blanco<\/strong><\/p>\n<p><code>UPDATE [table] SET<\/code><\/p>\n<p><code>= REPLACE(, ' ', '')<\/code><\/p>\n<p><strong>(esto es BASH) suelte todas las tablas en una base de datos<\/strong><\/p>\n<p><code>mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]<\/code><\/p>\n<p><strong>Cambiar a la intercalaci\u00f3n de una tabla y todas sus columnas existentes<\/strong><\/p>\n<p><code>alter table [table] convert to character set utf8 collate utf8_general_ci;<\/code><\/p>\n<p><strong>Buscar y reemplazar MySQL<\/strong><\/p>\n<p><code>UPDATE files SET filepath = REPLACE(filepath,'path\/to\/search','path\/to\/replace');<\/code><\/p>\n<p><strong>Seleccionar una fila aleatoria en MySQL<\/strong><\/p>\n<p><code>SELECT column FROM table ORDER BY RAND() LIMIT 1<\/code><\/p>\n<p><strong>Crear CSV desde MySQL<\/strong><\/p>\n<p><code>SELECT a,b,c FROM my_table INTO OUTFILE '\/ca.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n';<\/code><\/p>\n<p><strong>Buscar registros duplicados<\/strong><\/p>\n<p><code>SELECT id, COUNT(*) as n FROM my_table GROUP BY id HAVING n &gt;1;<\/code><\/p>\n<p><strong>Correcci\u00f3n de codificaci\u00f3n de caracteres incorrecta en datos MySQL<\/strong><\/p>\n<p><code>UPDATE table SET column=CONVERT(CONVERT(CONVERT(column USING latin1) USING binary) using utf8);<\/code><\/p>\n<p><strong>Cargue CSV de nuevo en mySQL<\/strong><\/p>\n<p><code>LOAD DATA local INFILE 'unique.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n' (col1, col2, col3)<\/code><\/p>\n<p><strong>Drupal 6.x Encuentra el c\u00f3digo PHP en la base de datos<\/strong><\/p>\n<p><code>select nid, vid from node_revisions where format in (select format from filters where module = 'php' and delta = 0); select cid, nid from comments where format in (select format from filters where module = 'php' and delta = 0); select bid, info from boxes where format in (select format from filters where module = 'php' and delta = 0);<\/code><\/p>\n<p><strong>Generar cadena aleatoria en MySQL<\/strong><\/p>\n<p><code>SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 6) AS randomstring<\/code><\/p>\n<p><strong>Calcular la edad desde la fecha de nacimiento<\/strong><\/p>\n<p><code>SELECT FLOOR(DATEDIFF(CURRENT_DATE(), dob) \/ 365);<\/code><\/p>\n<p><strong>Buscar y reemplazar<\/strong><\/p>\n<p><code>UPDATE table_name SET column_name = REPLACE(column_name, 'http:\/\/oldcontent.com', 'http:\/\/newcontent.com');<\/code><\/p>\n<p><strong>Selecciona entre dos fechas<\/strong><\/p>\n<p><code>SELECT * FROM files LEFT JOIN (dates) ON files.uploaded_id = dates.id WHERE date BETWEEN '2009-01-01' AND '2009-12-31'<\/code><\/p>\n<p><strong>Copia de seguridad de la base de datos MySQL en un archivo SQL con mysqldump<\/strong><\/p>\n<p><code>mysqldump --user=username --password=password --opt --add-drop-database --databases databasename &gt; ~\/path\/to\/file.sql<\/code><\/p>\n<p><strong>como calcular los ultimos 7 dias<\/strong><\/p>\n<p><code>WHERE mydatefld &gt;= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)<\/code><\/p>\n<p><strong>volcado mysql<\/strong><\/p>\n<p><code>mysqldump -u [username] -p [password] [databasename] &gt; [backupfile.sql]<\/code><\/p>\n<p><strong>reemplazar mysql<\/strong><\/p>\n<p>`# Reemplazar cadena en todos los registros de una tabla<br \/>\nUPDATE table_name SET column_name = REPLACE( column_name, &#8216;\/dev&#8217;, &quot; );<\/p>\n<p>SELECCIONE REEMPLAZAR( nombre_columna, &#8216;\/dev&#8217;, \u00ab) DE nombre_tabla;`<\/p>\n<p><strong>Convertir zona horaria a local<\/strong><\/p>\n<p><code>SELECT CONVERT_TZ(mydatefield,'US\/Pacific','CET') FROM mytable;<\/code><\/p>\n<p><strong>Buscar y reemplazar en varias filas en SQL<\/strong><\/p>\n<p><code>UPDATE wp_posts SET post_content = REPLACE(post_content, 'staging.server.com', 'www.productionserver.com');<\/code><\/p>\n<p><strong>C\u00f3mo guardar los resultados de MySQL en un archivo externo<\/strong><\/p>\n<p><code>echo \"SELECT columns FROM table_name WHERE whatever='something'\" | \/path\/to\/mysql -uUSERNAME -pPASSWORD DATABASENAME &gt; \/tmp\/outfile.txt;<\/code><\/p>\n<p><strong>Insertar o actualizar si ya existe una clave \u00fanica<\/strong><\/p>\n<p><code>INSERT INTO `tableName` VALUES (?,?,?,'-1',?,'0') ON DUPLICATE KEY UPDATE `id` = ?, `foo` = ?, `bar` = ?<\/code><\/p>\n<p><strong>mySQL: comandos de copia de seguridad de la base de datos<\/strong><\/p>\n<p><code>-- dump mySQL database to file: VAR=$(date +\u00c3\u00a2\u00ef\u00bf\u00bd\u00ef\u00bf\u00bd%y-%m-%d\u00c3\u00a2\u00ef\u00bf\u00bd\u00ef\u00bf\u00bd); mysqldump -v -uUSERNAME -pPASSWORD -hlocalhost DATABASENAME &gt; \/BACKUPDIR\/$VAR-DATABASENAME.sql ;<\/code><\/p>\n<p><code>-- dump mySQL database to file and then move it: VAR=$(date +\u00c3\u00a2\u00ef\u00bf\u00bd\u00ef\u00bf\u00bd%y-%m-%d\u00c3\u00a2\u00ef\u00bf\u00bd\u00ef\u00bf\u00bd); mysqldump -v -uUSERNAME -pPASSWORD -hlocalhost DATABASENAME &gt; \/BACKUPDIR\/$VAR-DATABASENAME.sql ; mv \/BACKUPDIR\/DATABASENAME.sql \/OTHERBACKUPDIR\/$VAR-DATABASENAME.sql ;<\/code><\/p>\n<p><strong>importaci\u00f3n MySql<\/strong><\/p>\n<p><code>mysql -u [username] -p [dbname] &lt; [filename].sql<\/code><\/p>\n<p><strong>encontrar registros duplicados<\/strong><\/p>\n<p><code>select address, count(address) as cnt from mailing_list group by address having cnt &gt; 1 order by cnt;<\/code><\/p>\n<p><strong>Buscar y reemplazar MySQL<\/strong><\/p>\n<p><code>update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, 'find this string', 'replace found string with this string');<\/code><\/p>\n<p><strong>Cambiar la ruta del directorio de archivos de Drupal<\/strong><\/p>\n<p><code>UPDATE FILES SET filepath = REPLACE(filepath, 'sites\/default\/files\/old\/','sites\/default\/files\/new\/');<\/code><\/p>\n<p><strong>Encuentre todas las tablas en la base de datos MySQL que contengan nombres de columna espec\u00edficos<\/strong><\/p>\n<p><code>SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME IN ('columnA','ColumnB') AND TABLE_SCHEMA='YourDatabase';<\/code><\/p>\n<p><strong>Encuentra valores que ocurren exactamente una vez en la tabla<\/strong><\/p>\n<p><code>SELECT email FROM users GROUP BY email HAVING (COUNT(email) = 1 )<\/code><\/p>\n<p><strong>Script MySql para encontrar direcciones de correo electr\u00f3nico no v\u00e1lidas<\/strong><\/p>\n<p><code>SELECT * FROM people WHERE email NOT LIKE '%_@__%.__%'<\/code><\/p>\n<p><strong>C\u00e1lculo de edad de MySQL<\/strong><\/p>\n<p><code>DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(DOB, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') &lt; DATE_FORMAT(DOB, '00-%m-%d')) &gt;= 65<\/code><\/p>\n<p><strong>Combinaciones izquierdas para vincular tres o m\u00e1s tablas<\/strong><\/p>\n<p><code>select * from (bdg left join res on bdg.bid = res.bid) left join dom on res.rid = dom.rid where dom.rid is NULL;<\/code><\/p>\n<p><strong>MySQL REGEX coincide con la lista delimitada por comas<\/strong><\/p>\n<p><code>WHERE id REGEXP '(,|^){$this-&gt;id}(,|$)'<\/code><\/p>\n<p><strong>Obtenga un registro aleatorio basado en el peso<\/strong><\/p>\n<p><code>SELECT * FROM Table ORDER BY Rand() * (1 \/ Weight<\/code><\/p>\n<p>Esperamos que estos fragmentos de tabla de MySQL sean lo que estaba buscando. Actualizaremos este art\u00edculo con otros fragmentos de MySQL que encontremos en el futuro, as\u00ed que aseg\u00farese de marcarlo como favorito.<\/p>\n<p>Si disfrut\u00f3 leyendo este art\u00edculo sobre fragmentos de tabla de MySQL, tambi\u00e9n deber\u00eda leer estos:<\/p>\n<ul>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/es\/creando-un-sistema-crud-en-wordpress-complemento-de-tablas-wpdatatables\/\" title=\"Creaci\u00f3n de un sistema CRUD en WordPress (2018)\" >Creaci\u00f3n de un sistema CRUD en WordPress (2018)<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/es\/12-consejos-para-crear-un-tema-o-complemento-exitoso-de-wordpress\/\" title=\"12 consejos para crear un complemento o tema premium de WordPress exitoso\" >12 consejos para crear un complemento o tema premium de WordPress exitoso<\/a><\/li>\n<li><a href=\"https:\/\/wpdatatables.com\/how-to-host-a-website\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">C\u00f3mo alojar un sitio web: todos los pasos explicados<\/a><\/li>\n<li><a href=\"https:\/\/websensepro.com\/blog\/improve-database-performance-by-cleaning-wp_options-table\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress WP_OPTIONS optimizaci\u00f3n de tablas<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/wpdatatables.com\" class=\"external external_icon\">wpdatatables.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fragmentos de tabla MySQL? S\u00ed, hay bastantes de ellos en este art\u00edculo. Pero antes de llegar a eso, \u00bfqu\u00e9 es MySQL? Comencemos con la definici\u00f3n de MySQL.<\/p>\n","protected":false},"author":1,"featured_media":206960,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[831,840,861],"tags":[1172],"class_list":["post-225962","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guia-para-principiantes","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/225962","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=225962"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/225962\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/206960"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=225962"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=225962"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=225962"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}