✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Snippets de tabela MySQL e correções para problemas comuns

19

Fragmentos de tabela MySQL?

Sim, existem alguns deles neste artigo. Mas antes de chegarmos a isso, o que é MySQL? Vamos começar com a definição do MySQL. MySQL é um sistema de gerenciamento de banco de dados relacional (RDBMS) de código aberto baseado em Oracle baseado em Structured Query Language (SQL).

Os aplicativos que usam o banco de dados MySQL incluem TYPO3, MODx, Joomla, WordPress, Simple Machines Forum, phpBB, MyBB e Drupal. O MySQL também é usado em muitos sites de grande porte e de alto perfil, incluindo Google (embora não para pesquisas), Facebook, Twitter, Flickr e YouTube.

E depois de toda essa introdução, você percebe que o MySQL é maior do que você pensava inicialmente. A menos que você tenha estado por aí por um tempo na indústria. No entanto, se você é um novato e deseja aprender mais sobre o MySQL, a maneira mais fácil de fazer isso é com trechos de tabela do MySQL.

Fragmentos de tabela MySQL

Corresponder a uma string no início da string

SELECT 'Test' REGEXP '^The'; -- 0 SELECT 'The Test' REGEXP '^The'; -- 1

Se um nome não tiver o prefixo ‘The ‘, adicione-o

UPDATE [table] SET Name = CONCAT('The ', TRIM(Name)) WHERE Name NOT REGEXP '^The'

Copiar uma coluna de uma tabela para outra

INSERT INTO [table] (

) SELECT FROM [table]

Remover todos os espaços em branco

UPDATE [table] SET

= REPLACE(, ' ', '')

(este é BASH) descarta todas as tabelas em um banco de dados

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]

Alterar para agrupamento de uma tabela e todas as suas colunas existentes

alter table [table] convert to character set utf8 collate utf8_general_ci;

MySQL Localizar e Substituir

UPDATE files SET filepath = REPLACE(filepath,'path/to/search','path/to/replace');

Selecionando uma linha aleatória no MySQL

SELECT column FROM table ORDER BY RAND() LIMIT 1

Criar CSV a partir do MySQL

SELECT a,b,c FROM my_table INTO OUTFILE '/ca.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n';

Encontrar registros duplicados

SELECT id, COUNT(*) as n FROM my_table GROUP BY id HAVING n >1;

Corrigindo a codificação de caracteres errada em dados MySQL

UPDATE table SET column=CONVERT(CONVERT(CONVERT(column USING latin1) USING binary) using utf8);

Carregar CSV de volta no mySQL

LOAD DATA local INFILE 'unique.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n' (col1, col2, col3)

Drupal 6.x Localizar código PHP no banco de dados

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);

Gerar string aleatória no MySQL

SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 6) AS randomstring

Calcular a idade a partir da data de nascimento

SELECT FLOOR(DATEDIFF(CURRENT_DATE(), dob) / 365);

Localizar e substituir

UPDATE table_name SET column_name = REPLACE(column_name, 'http://oldcontent.com', 'http://newcontent.com');

Selecione entre duas datas

SELECT * FROM files LEFT JOIN (dates) ON files.uploaded_id = dates.id WHERE date BETWEEN '2009-01-01' AND '2009-12-31'

Backup do banco de dados MySQL para arquivo SQL com mysqldump

mysqldump --user=username --password=password --opt --add-drop-database --databases databasename > ~/path/to/file.sql

como calcular últimos 7 dias

WHERE mydatefld >= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)

despejo do mysql

mysqldump -u [username] -p [password] [databasename] > [backupfile.sql]

Substituição do MySQL

`# Substitui string em todos os registros de uma tabela
UPDATE table_name SET column_name = REPLACE( column_name, ‘/dev’, " );

SELECT REPLACE( nome_da_coluna, ‘/dev’, “) FROM nome_da_tabela;`

Converter fuso horário para local

SELECT CONVERT_TZ(mydatefield,'US/Pacific','CET') FROM mytable;

Pesquisar e substituir em várias linhas no SQL

UPDATE wp_posts SET post_content = REPLACE(post_content, 'staging.server.com', 'www.productionserver.com');

Como salvar resultados do MySQL em um arquivo externo

echo "SELECT columns FROM table_name WHERE whatever='something'" | /path/to/mysql -uUSERNAME -pPASSWORD DATABASENAME > /tmp/outfile.txt;

Insira ou atualize se a chave exclusiva já existir

INSERT INTO `tableName` VALUES (?,?,?,'-1',?,'0') ON DUPLICATE KEY UPDATE `id` = ?, `foo` = ?, `bar` = ?

mySQL – comandos de backup de banco de dados

-- dump mySQL database to file: VAR=$(date +�%y-%m-%d�); mysqldump -v -uUSERNAME -pPASSWORD -hlocalhost DATABASENAME > /BACKUPDIR/$VAR-DATABASENAME.sql ;

-- dump mySQL database to file and then move it: VAR=$(date +�%y-%m-%d�); mysqldump -v -uUSERNAME -pPASSWORD -hlocalhost DATABASENAME > /BACKUPDIR/$VAR-DATABASENAME.sql ; mv /BACKUPDIR/DATABASENAME.sql /OTHERBACKUPDIR/$VAR-DATABASENAME.sql ;

Importação do MySQL

mysql -u [username] -p [dbname] < [filename].sql

encontrar registros duplicados

select address, count(address) as cnt from mailing_list group by address having cnt > 1 order by cnt;

MySQL Localizar e Substituir

update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, 'find this string', 'replace found string with this string');

Alterar o caminho do diretório do arquivo Drupal

UPDATE FILES SET filepath = REPLACE(filepath, 'sites/default/files/old/','sites/default/files/new/');

Encontre todas as tabelas no banco de dados MySQL contendo nomes de colunas específicos

SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME IN ('columnA','ColumnB') AND TABLE_SCHEMA='YourDatabase';

Encontrar valores que ocorrem exatamente uma vez na tabela

SELECT email FROM users GROUP BY email HAVING (COUNT(email) = 1 )

Script MySQL para encontrar endereços de e-mail inválidos

SELECT * FROM people WHERE email NOT LIKE '%_@__%.__%'

Cálculo da idade do MySQL

DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(DOB, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(DOB, '00-%m-%d')) >= 65

Left Joins para vincular três ou mais tabelas

select * from (bdg left join res on bdg.bid = res.bid) left join dom on res.rid = dom.rid where dom.rid is NULL;

MySQL REGEX corresponde à lista delimitada por vírgulas

WHERE id REGEXP '(,|^){$this->id}(,|$)'

Obter registro aleatório com base no peso

SELECT * FROM Table ORDER BY Rand() * (1 / Weight

Esperamos que esses trechos de tabela MySQL sejam o que você estava procurando. Atualizaremos este artigo com outros trechos do MySQL que encontrarmos no futuro, portanto, certifique-se de adicioná-lo aos favoritos.

Se você gostou de ler este artigo sobre trechos de tabela MySQL, você também deve ler estes:

Fonte de gravação: wpdatatables.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação