Mar-11 22

Exportar dados do MS SQL Server para Mysql

Enviado por: Thales RB. .     2 comentários.     Categorias: MySQL, PHP

Esses dia eu precisei migrar um site feito em MS SQL Server para Mysql, por isso vou fazer um breve post sobre como fazer essa migração.

Para fazer isso pode ser usado o programa MySQL Migration Toolkit do MySQL Workbench. Ele é bem simples de se usar, basicamente só é  preciso avançar em todos os passos .

(more…)

Aug-10 30

Adicionar dias a uma data em Mysql ou PHP

Enviado por: Thales RB. .     1 comentário.     Categorias: MySQL, PHP

Esses dias eu precisei adicionar 1 mês em uma data, e descobrir duas formas de fazer isso.

Caso queira usar isso com o PHP poder ser usado a função explode:

[code="php"]
$dt_ini='30/08/2009';
$total_dias='30';
$data=explode('/', $dt_ini);  //irá jogar em um array os valores para cada barra "/" que encontrar
$ano=$data[2];
$mes=$data[1];
$dia=$data[0];
$proxima_data=mktime(0,0,0, $mes,$dia+$total_dias,$ano);
$dt_final=strftime("%d/%m/%Y", $proxima_data);
echo $dt_final;
?>
[/code]

A vantagem desse método é que pode ser qualquer formato de data(exemplo 2010-08-30 )

MYSQL

Agora para fazer isso no Mysql, ou seja pegar os registros de uma data no futuro, pode ser usado o comando DATE_ADD

[code="php"]

SELECT DATE_ADD(CURDATE(), INTERVAL 1 MONTH)  -- data atual + 1 mês

SELECT DATE_ADD(CURDATE(), INTERVAL -1 MONTH) -- data atual - 1 mês

-- CURDATE() retorna somente a data

-- NOW() retorna data e hora

[/code]

O INTERVAL pode ser qualquer forma de tempo desde microsegundos até anos. E pode ser usado um valor positivo(data no fututo) ou negativo(datas passadas). Veja aqui as opções.

E logicamente no lugar do CURDATE() pode ser um campo/variavel que contenha data (ele precisa estar salvo no formato DATE ou DATETIME).

Obs:  caso queria colocar uma data fixa ela precisa estar entre aspas ’2010-08-30′ para funcionar.

[/code]
Jun-10 22

Textos/Numeros aleatórios em PHP/Mysql

Enviado por: Thales RB. .     5 comentários.     Categorias: MySQL, PHP

Como eu estou trabalhando com PHP, irei começar a colocar aqui algumas funções interessantes, uteis(pelo menos pra mim =D)

Aqui a função em PHP de como gerar dados aleatórios(randomicos), isso pode ser bem util para fazer uma lista de comentários/posts, ou imagens aleatórios.

A função que faz isso no PHP:

rand ($min , $max)

Ex:

$random_text = array("Texto 1",
                    "Texto 2",
                    "Texto 3",
                    "Texto 4",
                    "Texto 5");

$max = count($random_text);
echo $random_text[rand(0,$max-1)];

Essa função é util para gerar numeros aleatórios para um id ou algo assim.

Agora se vc quiser fazer isso numa busca SQL, é mais fácil ainda:

$sql = "SELECT * FROM tabela ORDER BY RAND()";
Dec-07 11

Instalando o Apache, PHP, Mysql no Windows

Enviado por: Thales RB. .     93 comentários.     Categorias: Desenvolvimento, MySQL, PHP

Hoje eu apanhei bastante para conseguir instalar o trio Apache, PHP, Mysql, por isso resolvi fazer um tutorial, para ajudar quem quiser instalar o php em seu PC para fazer testes ou aprender PHP.

Bem vale apena avisar que é um pouco complicado e demorado pra instalar esse trio, então se você quiser isso somente para testar alguns scripts ou fazer testes é mais facil usar sistemas prontos como o easyphp ou xampp, eu estava usando o xampp e ele é bem tranqüilo de se usar, mas como não estava funcionando o mod_rewrite resolvi instalar o php normalmente.

(more…)

Oct-07 30

Integridade referencial no mysql

Enviado por: Thales RB. .     1 comentário.     Categorias: Desenvolvimento, MySQL

Integridade referencial é uma tecnica usada para que as tabelas sejam ligadas ou seja se um campo ou uma tabela não pode ser deletada sem que outra seja deletada antes, ou que ao deletar, algum item ele delete de outra tabela também.
Para trabalharmos com integridade referencial, isto é, para adicionarmos restrições de integridade (constraints) às chaves estrangeiras, é necessário criar as tabelas como InnoDB. Este recurso está disponível somente para este tipo de tabela, embora seja possível definir chaves estrangeiras e restrições outros tipos de tabelas por razões de compatibilidade. O detalhe é que neste caso, estas definições terão o efeito apenas de documentação, ou seja, o MySQL não respeitará os constraints definidos.
(more…)