Mostrar mensagens com a etiqueta MySql. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta MySql. Mostrar todas as mensagens

02/01/2010

Faça Backup automático de base de dados MySql

cd_mysql

Utiliza base de dados Mysql então vai ter necessidade  de fazer backups automáticos das suas base de dados  lembre-se mais vale prevenir que remediar .

Os projectos que vos recomendo são o AutoMySQLBackup e o backup2mail , o AutoMySQLBackup  é um programa bastante completo com funcionalidade de backup avançadas enquanto o  backup2mail  é mais dirigido para fazer backups e enviar para o seu email ,vamos então aprofundar um poucas as funcionalidade e requisitos de cada um .

AutoMySQLBackup

Funcionalidades:

  • Backup de bases de dados Mysql num unico scrip ;
  • Backup de todas as base de dados para um único ficheiro ou vários ficheiros;
  • Compressão dos ficheiros utilizando o  gzip ou bzip2 e guarda no disco;
  • Possibilidade de backups a servidores remotos;
  • Backups automáticos ou manuais ;
  • Possibilita a especificação de tamanho máximo de ficheiro e envia-lo para endereço email(electrónico).
  • Pode corre comandos antes e depois do backup;
  • Backups diários ,semanais ou mensalmente;

Requisitos:

  • Execução de comandos usuais num sistema linux;
  • Necessita do utilitário de cliente mysql ‘mysqldump’;
  • Caso utilize a compressão de ficheiro é necessário o gzip ou bzip2;
  • Se escolher  o envio para o endereço electrónico deve ter permissões para executar funções de ‘mail’;

Backup2mail

Funcionalidades:

  • Backups de base de dados Mysql e envio para email (endereço electrónico ).

Requisitos:

  • PHP 4.1+
  • Acesso SSH ao servidor web,
    ou interface de Cron Jobs(Tarefas automáticas)  (Unix/Linux),
    ou interface  de Scheduled Tasks (Tarefas automáticas) (Win)
Ler mais ...

16/12/2009

Ajude a Salvar o MySQL

mysql_logo_salve   Recentemente o fundador do MySQL lançou um apelo no seu blog para o ajudarem a salvar o o MySQL . Para isso pede enviarem um apelo a comissão europeia apelando a que a mesma proteja o MySQL com projecto Código Aberto.
O porque? e que  razoes que invoca :
A razão pelo que o MySql necessita de ajuda é pelo facto da Oracle está a tentar comprar a Sum empresa detentora do MySQL ,para quem não sabe a Oracle é a empresa proprietária da Base de Dados comercial e de código fechado Oracle e esta empresa necessita a da aprovação da Comissão Europeia para que concluir o negocio uma vez que o governo americano já aprovou o mesmo.
E porque que o fundador do MySQL não acredita da boa vontade da Oracle mesma apesar das promessas de maior investimento e manutenção do lançamento de novas versões do MySQL .
As razões que invoca são que uma  base de dados MySQL fraca permite ao negocio da Oracle arrecadar mais de 1 Bilião de dólares ano e o que tem acontecido é que devido ao actual Mysql e aos suas recentes melhoramentos tem retirado grandes clientes a Oracle que migram para o MySQL bem como forçado a Oracle a baixar o preço do mesmo e nesta óptica  nenhuma empresa vão investir num produto quando este lhe pode fazer perder clientes .
Outra das razões base que invoca é as não promessas da Oracle que são as seguintes:
  • Manter o MySQL com licença código aberto;
  • Não fechar partes do código do MySQL;
  • Manter uma Licença Empresarial e outra para a comunidade;
  • Lançar actualizações e novas versões regulares e atempadas;
  • Desenvolver o Mysql como código aberto;
  • Articular o desenvolvimento com a comunidade;
  • Evitar actualizar o Mysql de forma a tornar mais fraco face ao Oracle;
  • Fazer melhoramentos que a tornem mais competitiva; 
  • E muitas mais..
Agora o que pode ser feito é enviar um email para comp-merger-registry@ec.europa.eu até dia 19-12-2009 explicando os pontos de vista pelo que a compra da Oracle do MySQL é eticamente deplorável e põe em causa a competitividade no segmento das Base de Dados
Ler mais ...

26/11/2009

Mostrar dados Mysql numa DataGridView em C#

final_c_sharp_mysql
Face a alguns solicitações criei um exemplo muito simples e rápido de como mostrar dados vindos do Mysql  numa DataGridView usando a linguagem c#.
Neste exemplo o objectivo vai ser apenas fazer uma Ligação há base de dados Mysql e devolver os dados de uma tabela e mostrar numa DataGridView.
Para começar certifique-se que tem instalado o conector Mysql para .net , se não o tiver vá á pagina do Mysql Connector/Net e faça o download do mesmo e a sua respectiva instalação.
Agora vamos cria o nosso projecto do tipo “Windows Forms Application” e acrescentamos uma classe que eu vou chamar “MysqlDataLayer”  mas o nome é o que entender esta classe vai servir para escrever as funções para conectar a base de dados e fazer a consulta sql a uma tabela.

Ler mais ...

25/11/2009

Crie a sua primeira aplicação Yii no XAMPP

yii_exemplo Pois bem hoje vou mostrar como é facil e rapido construir uma aplicação na framework yii , neste toturial vou utilizar a distribuição XAMPP mas vão reparar que pode adapatar facilmente ao seu servidor ,outra nota que quero deixar é que o tutorial é orientado para o Windows mas poderá utilizar outro sistema operativo como o  Linux ou o MAC.OS.
O primeiro passo é mesmo descarregar a framework  e colocar a framework na pasta do servidor .

Ler mais ...

09/10/2008

Dicas MySql

Este post é uma adaptação do artigo original de “diegohellas” publicado na pagina www.php5.com.br . Este artigo enumera alguns recursos disponíveis no MySql para nos facilitar o desenvolvimento quando utilizamos o MySql.

Funções IN e NOT IN

Descrição: Esta função permite enquadrar determinado campo dentro de um conjunto especifico de valores caso função IN pois a função NOT IN vai excluir os campos que estão presentes nesse conjunto de valores.

Exemplo:
(Uso com Strings)
SELECT sigla, nome, população
FROM cidades
WHERE
Sigla IN(‘LISBOA’, ‘PORTO’, ‘LEIRIA’);
//NOT IN
Sigla NOT IN(‘LISBOA’, ‘PORTO’, ‘LEIRIA’);

(Uso com numeros)

SELECT nome, email, idade
FROM curriculos
WHERE
idade IN (18, 19, 20)
//NOT IN
idade NOT IN (15, 16, 17)

Função IF

Descrição: Funções habitual da programação e expressa condição.

IF(condição, caso verdadeiro, caso contrário)

SELECT nome, email, IF(sexo =”M”, “Masculino”, “Feminino”)
FROM currículos

Função CASE WHEN:

Descrição: Tal como a anterior

CASE campo
WHEN “valor1” THEN “Novo valor”

Controle de fluxo

SELECT nome, setor
CASE mes_nascimento
WHEN 01 THEN “Janeiro”
WHEN 02 THEN “Fevereiro”
WHEN 03 THEN “Março”
WHEN 04 THEN “Abril”
WHEN 05 THEN “Maio”
WHEN 06 THEN “Junho”
WHEN 07 THEN “Julho”
WHEN 08 THEN “Agosto”
WHEN 09 THEN “Setembro”
WHEN 10 THEN “Outubro”
WHEN 11 THEN “Novembro”
ELSE “Dezembro” END AS mes_nascimento
FROM funcionários

OU

SELECT
CASE
WHEN continente = “América” THEN “Continente americano”
WHEN pais = “Brasil” THEN “Continente sul americano”
WHEN continente = “Mexico” THEN “Continente norte americano”
…....


Funções matemáticas

Trigonometria

pi() = 3.14.15.93
radians(180) = 3.1415926535898
sin(radians(60)) = 0.866025
sqrt(3)/2 = 0.86602540
degrees(asin(sqrt(3)/2)) = 60

Logarítimo e potência

log(2) = 0.693147
exp(1) = 2.718282
power(2,5) = 32.000000
log10(100) = 2.000000
mod(13,7) = 6
13%7 = 6
abs(-42) = 42
sign(0) = 0

Arredondamento

ceiling(2.5) = 3 - Arredonda para cima ;
floor(2.5) = 2 - Arredonda para baixo ;
round(2.5) = 2 - Arredonda para o inteiro mais próximo;
round(2.51) = 3
truncate(2.5,0) = 2 - Elimina as casas decimais ;

Funções de string

SELECT CONCAT('My', 'S', 'QL'); – junta 1 ou mais strings;
substring – pega partes de uma string baseado na posição
substring_index – pega partes da string baseado nos delimitadores
instr – encontra numa string uma sub-string e devolve a posição onde começa essa sub-string.
replace – Substitui caracteres numa string.
length – calcula o tamanho da string



substring_index(“diegohellas@hotmail.com”, “@”, 1) = diegohellas
substring_index(“orders.mysql.com”, “.”, -2) = mysql.com
reverse(“orders.mysql.com”) = moc.lqsym.sredro
upper(“mysql”) = MYSQL
lower(“MySQL”) = mysql
rpad(“Diego”, 10, “.”) = diego…..
char(77,121,83,81,76) = MySQL
left(“Diego Felipe Hellas”, 3) = Die
mid(“Diego Felipe Hellas Moreira Alves”, 13,6) = Hellas
rught(‘Diego Hellas“, 6) = Hellas
trim(“Q”, from “QQQQMySQL ABQQQ”) = MySQL AB

Funções de tempo e de data

NOW() e intervalos

SELECT NOW() – irá retornar a data e hora actual do servidor MySQL no formato
aaaa-mm-dd hh:mm:ss


SELECT NOW() + INTERVAL 2DAY – irá retornar a data e hora do servidor, só que com uma diferença de 2 dias para frente(ex: hoje é 2008-10-06 ele irá retornar 2008-10-08), essa diferença pode ser negativa também, e o intervalo pode ser horas, minutos, segundos, dias, semanas, meses, anos, etc;


Formatando datas com o DATE_FORMAT()

Sintaxe:
DATE_FORMAT(campo, ‘formato desejado’)


Especificador Descrição
%M Nome do mês (January..December)
%W Nome do dia da semana (Sunday..Saturday)
%D Dia do mês com o sufixo em Inglês (1st, 2nd, 3rd, etc.)
%Y Ano, numérico, com 4 dígitos
%y Ano, numérico, com 2 dígitos
%a Nome do dia da semana abreviado (Sun..Sat)
%d Dia do mês, numérico (00..31)
%e Dia do mês, numérico (0..31)
%m Mês, numérico (01..12)
%c Mês, numérico (1..12)
%b Nome do mês, abreviado (Jan..Dec)
%j Dia do ano (001..366)
%H Hora (00..23)
%k Hora (0..23)
%h Hora (01..12)
%I Hora (01..12)
%l Hora (1..12)
%i Minutos, numérico (00..59)
%r Horário, 12 horas (hh:mm:ss [AP]M)
%T Horário, 24 horas (hh:mm:ss)
%S Segundos (00..59)
%s Segundos (00..59)
%p AM ou PM
%w Dia da semana (0=Domingo..6=Sábado)
%U Semana (00..53), onde Domingo é o primeiro dia da semana
%u Semana (00..53), onde Segunda é o primeiro dia da semana
%% Caracter `%'.


Exemplos de uso:

O MySQL armazena as datas no formato aaaa-mm-dd

Para seleccionar a data no formato que queremos:

SELECT nome, DATE_FORMAT(data_nascimento, ‘%d/%m/%Y’) AS data
FROM funcionários

Desta forma podemos seleccionar a data no formato que pretendemos e se quisemos comparar a data já não temos de a converter de dd/mm/aaaa para aaaa-mm-dd;

SELECT nome, departamento
FROM funcionários
WHERE
DATE_FORMAT(data_nascimento, ‘%d/%m/%Y’) = ‘22/11/1986’
Função DATEDIFF

Calcula a diferença em dias entre duas datas

SELECT DATEDIFF('2006-12-31', '2006-01-01') = 364


Referencias
Ler mais ...

Utilizar Base de Dados MySql em C#

Para fazer a ligação a base de dados MySql vai ser necessário fazer o download do Conector Ado.net (http://dev.mysql.com/downloads/connector/net/5.2.html) ,no meu caso e como vou utilizar o visual Studio 2008 vou utilizar a ultima versão deste mesmo conector.


Findo a instalação do conector vamos criar uma aplicação Windows .

So para informação se tiver a utilizar o visual studio 2008 a ligação a base de dados MySql pode ser feita sem ter que escrever uma única linha de código , esta maneira vou deixar para o leitor descobrir sozinho :-).


Para começar crie uma DataGrid no formulário inicial e dei-lhe um nome no meu caso vou-lhe chamar myDataGrid, de seguida deve adicionar a referencia do MySQL.Data para isso seleccione o menu Project e add Reference e escolha o componente .Net com o nome MySQL.Data .


Agora vamos então ao código ,começamos por adicionar o namespaces


using MySql.Data.MySqlClient ;

private MySqlConnection myCon;

private MySqlDataAdapter myAdapter;

private DataSet myDataSet;


public Form1()

{

InitializeComponent();

MostraDados();

}


Para criar uma ligação a base de dados e preencher a datagrid criei a seguinte função:


private void MostraDados()

{

myDataSet = new DataSet();

//Cria a Ligação atravez de uma string de ligação

myCon = new MySqlConnection("Persist Security Info=False;database=test;server=localhost;user id=UtilizadorTeste;Password=teste");

try

{

// E estabelecido uma ligação com a base de dados

myCon.Open();

}

catch (System.Exception e)

{

// Ocoreu erro quande se tentou estabelecer a ligação com a base de dados.

MessageBox.Show(e.Message.ToString());

}

//Valida se a ligação está estabelecida

if (myCon.State == ConnectionState.Open)

{

//cria o adapter utilizando uma instrução SQL de forma a aceder a tabela Carros

myAdapter = new MySqlDataAdapter("SELECT * FROM carros", myCon);

//preenche o dataset atravez do adapter criado

myAdapter.Fill(myDataSet, "carros");


//A DataGrid terá como DataSource o dataSet prenchido anterior

myDataGrid.DataSource = myDataSet;

//Queremos mostrar a tabela dos carros

myDataGrid.DataMember = "carros";

}

finalizaLigacao();

}


A primeira coisa que fiz na função foi criar uma nova ligação a base de dados utilizando o conector MySqlConnection onde foi passada a string de conexão e que é constituída pelos seguintes valores que vou passar a explicar :


Persist Security Info=False

Significa que os dados sensiveis como a password não são devolvidos quando a conexão está ligado ou esteve ligada.

database=test

O nome da Base de Dados que vamos utilizar ,no meu caso foi utilizada a base de dados Chamada test

server=localhost

Nome do endereço de rede do motor de base de dados MySql no qual queremos fazer a ligação;

user id=UtilizadorTeste

Nome da conta a utilizar para aceder a base de dados;

Password=teste

Senha da conta que vai ser usada para aceder a base de dados;

[1]Para mais detalhes sobre a constituição desta setring de ligação veja na documentação do conector.(http://dev.mysql.com/doc/refman/6.0/en/connector-net-examples-mysqlconnection.html)


Findo a criação da ligação vamo-nos ligar a base de dados utilizando para isso o método Open,caso de erro será mostrado o erro .

De seguida e no caso de já estarmos ligados a base de dados vamos utilizar o nosso dataAdater e aceder a tabela que queremos mostrar na nossa datagrid :


myAdapter = new MySqlDataAdapter("SELECT * FROM carros", myCon);


Neste momento só nos basta preencher o dataset com os dados myAdapter.Fill(myDataSet, "carros"); e para mostar no datagrid dizer que o sorce do datagrid é o nosso datasel e que queremos mostrar a tabela carros e vuolá já podemos ver os dados no nosso DataGrid.


Só para finalizar e não menos importante temos de fechar a ligação que estabelecemos para isso e chamado o método

finalizaLigacao(); .


private void finalizaLigacao() {

if (myCon.State == ConnectionState.Open)

myCon.Close();

}


Ler mais ...