{"id":225946,"date":"2022-08-17T13:36:00","date_gmt":"2022-08-17T10:36:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=225946"},"modified":"2022-11-08T01:28:34","modified_gmt":"2022-11-07T22:28:34","slug":"snippets-de-tabela-mysql-e-correcoes-para-problemas-comuns","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/snippets-de-tabela-mysql-e-correcoes-para-problemas-comuns\/","title":{"rendered":"Snippets de tabela MySQL e corre\u00e7\u00f5es para problemas comuns"},"content":{"rendered":"\n<p>Fragmentos de tabela MySQL?<\/p>\n<p>Sim, existem alguns deles neste artigo. Mas antes de chegarmos a isso, o que \u00e9 MySQL? Vamos come\u00e7ar com a defini\u00e7\u00e3o do MySQL. MySQL \u00e9 um sistema de gerenciamento de banco de dados relacional (RDBMS) de c\u00f3digo aberto baseado em Oracle baseado em Structured Query Language (SQL).<\/p>\n<p>Os aplicativos que usam o banco de dados MySQL incluem TYPO3, MODx, Joomla, WordPress, Simple Machines Forum, phpBB, MyBB e Drupal. O MySQL tamb\u00e9m \u00e9 usado em muitos sites de grande porte e de alto perfil, incluindo Google (embora n\u00e3o para pesquisas), Facebook, Twitter, Flickr e YouTube.<\/p>\n<p>E depois de toda essa introdu\u00e7\u00e3o, voc\u00ea percebe que o MySQL \u00e9 maior do que voc\u00ea pensava inicialmente. A menos que voc\u00ea tenha estado por a\u00ed por um tempo na ind\u00fastria. No entanto, se voc\u00ea \u00e9 um novato e deseja aprender mais sobre o MySQL, a maneira mais f\u00e1cil de fazer isso \u00e9 com trechos de tabela do MySQL.<\/p>\n<h2>Fragmentos de tabela MySQL<\/h2>\n<p><strong>Corresponder a uma string no in\u00edcio da string<\/strong><\/p>\n<p><code>SELECT 'Test' REGEXP '^The'; -- 0 SELECT 'The Test' REGEXP '^The'; -- 1<\/code><\/p>\n<p><strong>Se um nome n\u00e3o tiver o prefixo &#8216;The &#8216;, adicione-o<\/strong><\/p>\n<p><code>UPDATE [table] SET Name = CONCAT('The ', TRIM(Name)) WHERE Name NOT REGEXP '^The'<\/code><\/p>\n<p><strong>Copiar uma coluna de uma tabela para outra<\/strong><\/p>\n<p><code>INSERT INTO [table] (<\/code><\/p>\n<p><code>) SELECT FROM [table]<\/code><\/p>\n<p><strong>Remover todos os espa\u00e7os em branco<\/strong><\/p>\n<p><code>UPDATE [table] SET<\/code><\/p>\n<p><code>= REPLACE(, ' ', '')<\/code><\/p>\n<p><strong>(este \u00e9 BASH) descarta todas as tabelas em um banco de dados<\/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>Alterar para agrupamento de uma tabela e todas as suas colunas existentes<\/strong><\/p>\n<p><code>alter table [table] convert to character set utf8 collate utf8_general_ci;<\/code><\/p>\n<p><strong>MySQL Localizar e Substituir<\/strong><\/p>\n<p><code>UPDATE files SET filepath = REPLACE(filepath,'path\/to\/search','path\/to\/replace');<\/code><\/p>\n<p><strong>Selecionando uma linha aleat\u00f3ria no MySQL<\/strong><\/p>\n<p><code>SELECT column FROM table ORDER BY RAND() LIMIT 1<\/code><\/p>\n<p><strong>Criar CSV a partir do 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>Encontrar 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>Corrigindo a codifica\u00e7\u00e3o de caracteres errada em dados 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>Carregar CSV de volta no 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 Localizar c\u00f3digo PHP no banco de dados<\/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>Gerar string aleat\u00f3ria no MySQL<\/strong><\/p>\n<p><code>SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 6) AS randomstring<\/code><\/p>\n<p><strong>Calcular a idade a partir da data de nascimento<\/strong><\/p>\n<p><code>SELECT FLOOR(DATEDIFF(CURRENT_DATE(), dob) \/ 365);<\/code><\/p>\n<p><strong>Localizar e substituir<\/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>Selecione entre duas datas<\/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>Backup do banco de dados MySQL para arquivo SQL com 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 \u00faltimos 7 dias<\/strong><\/p>\n<p><code>WHERE mydatefld &gt;= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)<\/code><\/p>\n<p><strong>despejo do mysql<\/strong><\/p>\n<p><code>mysqldump -u [username] -p [password] [databasename] &gt; [backupfile.sql]<\/code><\/p>\n<p><strong>Substitui\u00e7\u00e3o do MySQL<\/strong><\/p>\n<p>`# Substitui string em todos os registros de uma tabela<br \/>\nUPDATE table_name SET column_name = REPLACE( column_name, &#8216;\/dev&#8217;, &quot; );<\/p>\n<p>SELECT REPLACE( nome_da_coluna, &#8216;\/dev&#8217;, &#8220;) FROM nome_da_tabela;`<\/p>\n<p><strong>Converter fuso hor\u00e1rio para local<\/strong><\/p>\n<p><code>SELECT CONVERT_TZ(mydatefield,'US\/Pacific','CET') FROM mytable;<\/code><\/p>\n<p><strong>Pesquisar e substituir em v\u00e1rias linhas no 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>Como salvar resultados do MySQL em um arquivo 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>Insira ou atualize se a chave exclusiva j\u00e1 existir<\/strong><\/p>\n<p><code>INSERT INTO `tableName` VALUES (?,?,?,'-1',?,'0') ON DUPLICATE KEY UPDATE `id` = ?, `foo` = ?, `bar` = ?<\/code><\/p>\n<p><strong>mySQL \u2013 comandos de backup de banco de dados<\/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>Importa\u00e7\u00e3o do 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>MySQL Localizar e Substituir<\/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>Alterar o caminho do diret\u00f3rio do arquivo 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>Encontre todas as tabelas no banco de dados MySQL contendo nomes de colunas 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>Encontrar valores que ocorrem exatamente uma vez na tabela<\/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 endere\u00e7os de e-mail inv\u00e1lidos<\/strong><\/p>\n<p><code>SELECT * FROM people WHERE email NOT LIKE '%_@__%.__%'<\/code><\/p>\n<p><strong>C\u00e1lculo da idade do 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>Left Joins para vincular tr\u00eas ou mais tabelas<\/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 corresponde \u00e0 lista delimitada por v\u00edrgulas<\/strong><\/p>\n<p><code>WHERE id REGEXP '(,|^){$this-&gt;id}(,|$)'<\/code><\/p>\n<p><strong>Obter registro aleat\u00f3rio com base no peso<\/strong><\/p>\n<p><code>SELECT * FROM Table ORDER BY Rand() * (1 \/ Weight<\/code><\/p>\n<p>Esperamos que esses trechos de tabela MySQL sejam o que voc\u00ea estava procurando. Atualizaremos este artigo com outros trechos do MySQL que encontrarmos no futuro, portanto, certifique-se de adicion\u00e1-lo aos favoritos.<\/p>\n<p>Se voc\u00ea gostou de ler este artigo sobre trechos de tabela MySQL, voc\u00ea tamb\u00e9m deve ler estes:<\/p>\n<ul>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/criando-um-sistema-crud-no-wordpress-wpdatatables-tables-plugin\/\" title=\"Criando um sistema CRUD no WordPress (2018)\" >Criando um sistema CRUD no WordPress (2018)<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/12-dicas-para-criar-um-tema-ou-plugin-wordpress-de-sucesso\/\" title=\"12 dicas para criar um plugin ou tema premium do WordPress bem-sucedido\" >12 dicas para criar um plugin ou tema premium do WordPress bem-sucedido<\/a><\/li>\n<li><a href=\"https:\/\/wpdatatables.com\/how-to-host-a-website\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Como hospedar um site: todas as etapas explicadas<\/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\">Otimiza\u00e7\u00e3o da tabela WordPress WP_OPTIONS<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <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 tabela MySQL? Sim, existem alguns deles neste artigo. Mas antes de chegarmos a isso, o que \u00e9 MySQL? Vamos come\u00e7ar com a defini\u00e7\u00e3o do 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":[837,846,867],"tags":[1170],"class_list":["post-225946","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guia-para-iniciantes","category-tutoriais","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/225946","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=225946"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/225946\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/206960"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=225946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=225946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=225946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}