Ultimas frases

March 6th, 2008

Farinha-> Japa, você nao aguenta o taliba?
Japa-> Claro que aguento, ele nao é pesado!!

TIM-> Carlos Alberto, fala mais baixo, você grita!!!
CA -> É que eu sou meio surdo, nao enxergo direito!!

Eventos que gostaríamos de assistir (do lado de fora é claro)

February 27th, 2008

Eventos que gostaríamos de assistir (do lado de fora é claro)

Como atualizar parte de uma string em uma tabela.

February 18th, 2008

Atualizar dados em lote nem sempre é simples, principalmente quando você precisa atualizar parte de um campo, por exemplo um campo de URL, voce precisa trocar http://mysql.com para http://dev.mysql.com, preservando o restante da url. veja como:

mysql> UPDATE tabela SET tbl_url=REPLACE(tlb_url, ‘http://mysql.com’, ‘http://dev.mysql.com);

O restante das urls continuarão intactos. ;-)
Boa sorte.

Selecionar registros diferentes para chaves iguais

February 16th, 2008

Imagine que você tem uma tabela de times (id,nome) e uma tabela de jogos (id,time1_id,time2_id,data) e vc precisa selecionar os jogos no formato:

20/10/2007 - FLUMINENSE x FLAMENGO

Simples, basta trazer 2 vezes a tabela de times e relacionar cada uma com seu id na tabela de jogos:

mysql->

SELECT
data as DATA,
CONCAT_WS(’ x ‘,d.nome, e.nome) AS JOGO
FROM
jogos, time AS d, time as e
WHERE
c.time1_id=d.id and
c.time2_id =e.id 

Função para extrair apenas numeros ou apenas letras

February 15th, 2008

A Função:

mysql-> CREATE FUNCTION extractRange(inString TEXT, inRange char(2))
RETURNS TEXT
DETERMINISTIC
BEGIN
DECLARE returnString TEXT DEFAULT ”;
DECLARE pointer INT DEFAULT 1;
WHILE pointer <= CHAR_LENGTH(inString) DO
IF MID(inString, pointer, 1) BETWEEN LEFT(inRange, 1) AND RIGHT(inRange, 1) THEN
SET returnString := CONCAT(returnString, MID(inString, pointer, 1));
END IF;
SET pointer := pointer + 1;
END WHILE;
return returnString;
END

Exemplos:

mysql-> extractRange(’abc-123-def’, ‘AZ’);
mysql-> abcdef

mysql-> extractRange(’abc-123-def’, ‘09′);
mysql-> 123

Listar todas as tabelas e suas chaves primárias

February 15th, 2008

mysql->use INFORMATION_SCHEMA;

mysql-> select CONCAT(t.table_name,”.”,t.table_schema) as tbl,
c.column_name,c.constraint_name
from TABLES AS t LEFT JOIN KEY_COLUMN_USAGE AS c
ON (t.TABLE_NAME=c.TABLE_NAME
AND c.CONSTRAINT_SCHEMA=t.TABLE_SCHEMA
AND constraint_name=’PRIMARY’)
WHERE t.table_schema!=”information_schema”
order by constraint_name;

Listar todas as tabelas sem chave primaria

February 15th, 2008

mysql-> use INFORMATION_SCHEMA;

mysql->
SELECT
CONCAT(t.table_name,”.”,t.table_schema) AS tbl,
FROM
TABLES AS t LEFT JOIN KEY_COLUMN_USAGE AS c ON
(t.TABLE_NAME=c.TABLE_NAME AND c.CONSTRAINT_SCHEMA=t.TABLE_SCHEMA
AND constraint_name=’PRIMARY’)
WHERE
t.table_schema!=”information_schema” AND
constraint_name IS NULL;

Util não? graças à Sheeri Kritzer

Novo engine mysql: Maria

February 15th, 2008

Esses dias nos Imasters li uma rtigo sobre a chegada do Maria, um novo engine mysql 5., que basicamente é um MyIsam com crash safe.

O Crash safe, é feito via full log, entao a maria é um myIsam que faz recover apartir de todo o log, ou seja, de todas as funções INSERT,DELETE, TRUNCATE, CREATE, DROP, RENANE , e todas as demais.

Criando uma tabela Maria:

mysql> CREATE TABLE maria_table (id int) ENGINE=Maria;

Transformando uma tabela MyIsam em Maria:

mysql> ALTER TABLE myisam_table ENGINE=Maria;

Arquivos que compõe o Maria:

  • table.frm — Arquivo que contem a definicao da tabela.
  • table.MAD — Arquivo de dados do maria.
  • table.MAI — Arquivo de Indice.

E mais 2 arquivos adivionais

  • maria_log.???????? — O Arquivo de log onde ???????? é um numero sequencial utilizado para o recover.
  • maria_log_control — Controla e armazena o status do log do Maria.

Vale a pena testar.

Blog para a equipe de desenvolvimento

February 15th, 2008

Estou testando utilizar o wordpress como ferramenta de trabalho, ajudando na documentação e no gerenciamento do projeto.

Com a ajuda de cada integrante da equipe, ou seja:

Gerente de projetos , DBA (eu), Programadores, Html coders e beta tester.

As melhoras em velocidade de desenvolvimento e entrosamento foi significativa.

A adição do blog no processo de desenvolvimento é válida e supre a necessidade de softwares adicionas para documentação e registro de tarefas.

Alguns pré-requisitos foram significamente importantes nessa implantação:

  • Conhecimento do wordpress por toda a equipe
  • Categorias claras , definindo etapas de um processo (duvidas, sugestoes, pendencias, comentarios)
  • Perfil de administrador a todos os usuarios
  • Restrição à leitura do blog à apenas os integrantes da equipe ( evitando a inibição e o vazamento de informação )
  • Não ter medo do novo!!!

Ubuntu sem som no toshiba

February 15th, 2008

Demorei pra encontrar a solução, entao vou postar aqui, tenho um toshiba A215-s7422, instalei o ubuntu porem nada de som, solução? google.

1 - Habilitar backports nas fontes de software
( System -> Administration -> Software Sources -> Updates -> Unsupported updates (gutsy-backports) )

2 - Descubra a versao do seu kernel
no terminal digite ‘uname -r’
anote se for 386 ou generic para o proximo passo

3 -  no terminal execute:
sudo aptitude install linux-backports-modules-generic
ou
sudo aptitude install linux-backports-modules-386

4 - sudo vi /etc/modprobe.d/alsa-base
adicione essa linha ao final do arquivo:
options snd-hda-intel model=toshiba

5 - Reinicie