Diferença entre UNION e UNION ALL. Operadores INTERSECT e MINUS.

julho 16, 2013 em Mysql, SQL

Diferença entre UNION e UNION ALL. Operadores INTERSECT e MINUS.

Melhor que explicar, é mostrar um exemplo de uma vez!

Listando conteúdo do campo na tabela_1

SELECT campo_x FROM tabela_1;

campo_x
———-
01
02
03
04

Listando conteúdo do campo na tabela_2
SELECT campo_x FROM tabela_2;

campo_x
———-
01
02
03

Utilizando UNION
SELECT campo_x FROM tabela_1
UNION
SELECT campo_x FROM tabela_2;

campo_x
———-
01
02
03
04

Utilizando UNION ALL

SELECT campo_x FROM tabela_1
UNION ALL
SELECT campo_x FROM tabela_2;

campo_x
———-
01
01
02
02
03
03
04

Utilizando INTERSECT
SELECT campo_x FROM tabela_1
INTERSECT
SELECT campo_x FROM tabela_2;

campo_x
———-
01
02
03

Utilizando MINUS
SELECT campo_x FROM tabela_1
MINUS
SELECT campo_x FROM tabela_2;
campo_x
———-
04

Referências:http://www.stanford.edu/dept/itss/docs/oracle/9i/server.920/a96540/queries5a.htm#2054266
http://www.oreilly.com/catalog/mastorasql/chapter/ch07.html

Criar um Array PHP direto no resultado do SQL com Campos da Tabela

maio 22, 2013 em Mysql, Php, SQL

Criando um array php direto com o resultado do SQL trazendo em um único resultado.
TUDO QUE ESTÁ EM VERMELHO DEVE SER ALTERADO 
Deve ser alterado porque pode esta funcionalidade pode buscar em mais de um banco e/ou mais de uma tabela, onde o ideal é especificar.

 Exemplo
SELECT  CONCAT('$ret = array("', REPLACE(GROUP_CONCAT(COLUMN_NAME ,'""') , '"",','","'), '");')AS COLUNA
FROM INFORMATION_SCHEMA.COLUMNS
 WHERE table_schema = 'BANCO'
	AND TABLE_NAME like 'TABELA';

Preg_Mach para Mysql é chamado de REGEXP

maio 20, 2013 em Mysql, preg_match, SQL

O REGEXP tem o conceito de Expressão Regular. Segue exemplos:

Usando como comparativo no IF:
SELECT IF(campo REGEXP ',' , 'Tem vírgula', 'Não tem Vírgula) AS campo_alias FROM tabela;

Utilizando no WHERE
SELECT * FROM contato WHERE telefone REGEXP '(435)';
SELECT * FROM user WHERE COLUMN_NAME NOT REGEXP 'id|status|dtSignInv|dtSignCo|dtSignMo';

Veja mais exemplos na referência abaixo...
Referência: http://dev.mysql.com/doc/refman/5.1/en/regexp.html

Agrupar todos resultados do sql em uma única linha de registro – Mysql

maio 20, 2013 em Mysql, SQL

O group_concat agrupa todos os resultados em uma única linha, como exemplo:
SELECT GROUP_CONCAT(email SEPARATOR ';') AS emails FROM users;

Referência: http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat


                        

Encontrar a coluna dentro de um banco Mysql

outubro 31, 2012 em Mysql, SQL

Com esta query abaixo você poderá descobrir em qual tabela está o campo que está buscando.
Neste exemplo, você indicará o nome da tabela e o nome da coluna que está buscando, e caso não especificque no Banco(schema) dentro de um ambiente local, esta query buscará em todos os bancos.
Exemplo:

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = “nome_do_shema” AND COLUMN_NAME = ‘campo_busca
GROUP BY COLUMN_NAME
ORDER BY ORDINAL_POSITION ASC;

 

 

 

Consulta para saber o tamanho do banco de dados Mysql

março 9, 2012 em Mysql, SQL

SELECT table_schema "Data Base Name",
sum( data_length + index_length ) / 1024 /
1024 "Data Base Size in MB",
sum( data_free )/ 1024 / 1024 "Free Space in MB"
FROM information_schema.TABLES
GROUP BY table_schema;

Identação de consultas SQL – Online

janeiro 5, 2012 em Mysql, PostgreSql, SQL

Pessoal,

Existe algumas ferramentas que já fazem a identação da consulta sql, tais como o Workbench (Oracle Mysql – Free), Toad (Quest Software) entre outros.

Mas caso necessitem de uma solução online e muito bem estruturada, aconselho que analisem o site: http://www.dpriver.com/pp/sqlformat.htm

A identação e organização do resultado das consulta não perde em nada para os programas acima, pra falar a verdade, acho muito melhor, vc consegue configurar o retorno de sua query sem nenhum problema.

 

Fica ai a dica.

 

Abraço

Replace para mudanças de domínio no WordPress

novembro 10, 2011 em Mysql, Php, WordPress

No wordpress, quando alterado a base de dados de local, é necessário a mundaça dos endereços que são gravados como absolutos.

Abaixo segue os 6 updates que devem ser feitos.

 

UPDATE wp_posts SET guid = REPLACE (guid,’http://www.siteanterior.com.br’,’http://www.sitenovo.com.br’);

UPDATE wp_posts SET post_content = REPLACE (post_content,’http://www.siteanterior.com.br’,’http://www.sitenovo.com.br’);

UPDATE wp_postmeta SET meta_value = REPLACE (meta_value,’http://www.siteanterior.com.br’,’http://www.sitenovo.com.br’);

UPDATE wp_options SET option_value = REPLACE (option_value,’http://www.siteanterior.com.br’,’http://www.sitenovo.com.br’);

UPDATE wp_links SET link_url = REPLACE (link_url,’http://www.siteanterior.com.br’,’http://www.sitenovo.com.br’);

UPDATE wp_links SET link_image = REPLACE (link_image,’http://www.siteanterior.com.br’,’http://www.sitenovo.com.br’);

 

Informações mais detalhadas:
- http://codex.wordpress.org/pt-br:Mudando_o_URL_do_Site
- http://desenvolvimentoparaweb.com/wordpress/15-comandos-sql-wordpress/
- http://leocaseiro.com.br/permalinks-wordpress/

 

Formatando data direto na query mysql

outubro 11, 2011 em Mysql

Abaixo segue o exemplo

DATE_FORMAT( campo_data, ‘%d/%m/%Y’)

 

 

Dump da base mysql via ms-dos

julho 5, 2011 em Mysql

Acesse a pasta bin de seu mysql, como por exemplo:

Xampp: c:/xampp/mysql/bin/
ou
Wamp: c:/wamp/bin/mysql/msyql1.30/bin/

depois adicione o seguinte comando:

mysqldump [banco] > [nomedoarquivo].sql -h [servidor ip(local ou remoto)] -u [login] -p

precione o Enter, depois irá pedir a senha e você digita e preciona o enter novamente.

Pronto, aguarde a té o fim da execução e o arquivo determinado estará na pasta /bin.