Nunca gostei de Java...é muito "dificultoso" pra criar qualquer coisa...em PHP existem varias funções já definidas coisa que facilita muito nossa vida e o mais importante ganhamos em produtividade!!...Bom começando hoje a escrever um pouso sobre PHP, primeiramente vc sabe porque o mascote ou simbolo como queira do PHP é um elefante? É uma coisa meio besta, mas pelo que li é por causa das letras mesmo PHP não parece com um elefante?? pior que parece mesmo hehehehe...Existem algumas funções basicas do MySql que podem e são usadas no PHP, algumas delas:
mysql_field_type()
Mostra o tipo de um campo(VARCHAR, INT, CHAR, etc.).
mysql_list_dbs()
Mostra os bancos de dados disponíveis na última conexão aberta.
mysql_list_fields()
Lista os campos de uma tabela.
mysql_num_rows()
Mostra o quantidade de linhas de uma consulta(Select).
mysql_query()
Executa uma função em um Banco de Dados.
mysql_insert_id()
Função bacana quando precisamos saber qual foi o ID gerado por um INSERT.
mysql_field_seek()
Move para um campo especifico.
mysql_fetch_array()
Cria um array com os resultados de uma consulta.
mysql_unbuffered_query()
Faz uma consulta sem buscar e guarda em buffer as linhas do resultado, parecido com a função mysql_query().
mysql_field_len()
Retorna a quantidade de caracteres que podem ser salvos em um determinado campo.
Ahhh ta bom né...quer conhecer mais...
http://br.php.net/manual/pt_BR/ref.mysql.php
Ate o próximo post!!
Frase da semana: Prefiro morrer dormindo, como o meu vô, a morrer gritando, como os passageiros do ônibus que ele estava dirigindo.
Mostrando postagens com marcador MySql. Mostrar todas as postagens
Mostrando postagens com marcador MySql. Mostrar todas as postagens
sexta-feira, 17 de dezembro de 2010
sexta-feira, 19 de novembro de 2010
Alterando a senha do root no MySQL
Bom, neste post irei descrever como alterar a senha do root no MySQL, mãos a obra:
Primeiramente interrompa o mysql(No XP - iniciar>>executar>>services.msc / no Seven gerenciador de tarefas aba serviços - procure o MySQL )
Procure o arquivo my.ini que na maioria das vezes fica no caminho:
Program Files\MySQL\MySQL Server 5.1\my.ini
Procure [mysqld]
Insira o comando:
skip-grant-tables
Salve o arquivo
Agora reinicie o servico do MySql, depois usando o mysql.exe que geralmente fica na pasta bin, execute o seguinte comando:
UPDATE mysql.user SET password=PASSWORD('NovaSenha') WHERE user='root' AND host='localhost';
FLUSH PRIVILEGES;
Bom espero ter ajudado...eu pelo menos já usei vaaarias vezes esse comando inclusive na faculdade hehehe
[]'s
Primeiramente interrompa o mysql(No XP - iniciar>>executar>>services.msc / no Seven gerenciador de tarefas aba serviços - procure o MySQL )
Procure o arquivo my.ini que na maioria das vezes fica no caminho:
Program Files\MySQL\MySQL Server 5.1\my.ini
Procure [mysqld]
Insira o comando:
skip-grant-tables
Salve o arquivo
Agora reinicie o servico do MySql, depois usando o mysql.exe que geralmente fica na pasta bin, execute o seguinte comando:
UPDATE mysql.user SET password=PASSWORD('NovaSenha') WHERE user='root' AND host='localhost';
FLUSH PRIVILEGES;
Bom espero ter ajudado...eu pelo menos já usei vaaarias vezes esse comando inclusive na faculdade hehehe
[]'s
quinta-feira, 4 de novembro de 2010
Iniciando a brincadeira com Trigger
E o que seria o danado desse Trigger..não é Tigger...nem tigre hehehe...mas Trigger gatilho..ou seja algo que é disparado em determinado momento...seja num insert delete update enfim tudo que for realizado pode ser controlado...irei mostrar a criação de 2 trigger's simples uma de insert e outra de delete...mãos a obra:
Ao inserir um registro na tbl usuario, essa trigger é disparada e realiza um insert em outra tbl tbllog informando o nome do usuario, com um texto mostrando a hora e data do insert...
DELIMITER //
CREATE TRIGGER add_linha_log AFTER INSERT ON usuario
FOR EACH ROW
BEGIN
INSERT INTO tbllog SET id=NEW.id, descricao = concat(new.usuario, '- Usuario criado com sucesso as ', now());
END //
Este outro faz a mesma coisa que o insert...porem ao inves de ser disparado no insert será disparado no delete:
DELIMITER //
CREATE TRIGGER add_linha_log_del AFTER DELETE ON usuario
FOR EACH ROW
BEGIN
INSERT INTO tbllog SET id=OLD.id, descricao = concat(OLD.usuario, '- Usuario excluido com sucesso as ', now());
END //
Espero que tenham gostado....
Ao inserir um registro na tbl usuario, essa trigger é disparada e realiza um insert em outra tbl tbllog informando o nome do usuario, com um texto mostrando a hora e data do insert...
DELIMITER //
CREATE TRIGGER add_linha_log AFTER INSERT ON usuario
FOR EACH ROW
BEGIN
INSERT INTO tbllog SET id=NEW.id, descricao = concat(new.usuario, '- Usuario criado com sucesso as ', now());
END //
Este outro faz a mesma coisa que o insert...porem ao inves de ser disparado no insert será disparado no delete:
DELIMITER //
CREATE TRIGGER add_linha_log_del AFTER DELETE ON usuario
FOR EACH ROW
BEGIN
INSERT INTO tbllog SET id=OLD.id, descricao = concat(OLD.usuario, '- Usuario excluido com sucesso as ', now());
END //
Espero que tenham gostado....
Criando uma View
Bom o que seria uma view?? View é uma tabela que não existe...que é gerada a partir de um select, exemplo:
create view QtdUser(usuario,qtdade) as
select usuario, count(usuario) as total from usuario
group by usuario
order by total desc
Obs - Para criar uma view, a quantidade de campos da view deve ser igual a do select;
O exemplo acima cria uma view que mostra o nome do Usuário e a quantidade de Usuários com a mesma descrição, isso foi de um arquivo xls que importei para o MySQL...na pratica isso não deveria acontecer..massssss...
create view QtdUser(usuario,qtdade) as
select usuario, count(usuario) as total from usuario
group by usuario
order by total desc
Obs - Para criar uma view, a quantidade de campos da view deve ser igual a do select;
O exemplo acima cria uma view que mostra o nome do Usuário e a quantidade de Usuários com a mesma descrição, isso foi de um arquivo xls que importei para o MySQL...na pratica isso não deveria acontecer..massssss...
segunda-feira, 1 de novembro de 2010
Usando concat e Case -MySql
Este select retorna o nome, valor(salario sem calculo), salarioAtual(com calculo), onde os valor do salario são concatenados com o texto R$ e o ,00, o upper deixa o nome em caixa alta..olower em caixa baixa...
select
upper(nome) as Nome,
concat('R$ ', valor, ',00') AS Salario,
concat('R$ ',(CASE setor
WHEN 'informatica' THEN valor*2
WHEN 'limpeza' THEN valor*5
ELSE valor
END),',00') as SalarioAtual
from teste
Para o alto e avante!!!
select
upper(nome) as Nome,
concat('R$ ', valor, ',00') AS Salario,
concat('R$ ',(CASE setor
WHEN 'informatica' THEN valor*2
WHEN 'limpeza' THEN valor*5
ELSE valor
END),',00') as SalarioAtual
from teste
Para o alto e avante!!!
Select criado por mim
Claro mudei o nome dos campos, e nome de tabelas pois não acho viavel mostrar o real...
SELECT tbl1.x, tbl1.y, tbl1.z, tbl2.a, tbl2.b, tbl3.c
FROM tbl1 LEFT JOIN tbl2
where left(tbl1.x,4) = tbl2.b
AND tbl1.y='P'
AND exists (SELECT *
FROM tbl1 JOIN tbl2
WHERE tbl1.y='M'
AND left(tbl1.x,4) = tbl2.b)
ORDER BY tbl1.x
A parte left(tbl1.x,4) faz o seguinte, pega os 4 primeiros caracters e compara com o users.b,ou seja um nome Mariovaldo...só será comparado Mari..
Parece facil ne? Depois de feito..tudo é mais facil hehehe
SELECT tbl1.x, tbl1.y, tbl1.z, tbl2.a, tbl2.b, tbl3.c
FROM tbl1 LEFT JOIN tbl2
where left(tbl1.x,4) = tbl2.b
AND tbl1.y='P'
AND exists (SELECT *
FROM tbl1 JOIN tbl2
WHERE tbl1.y='M'
AND left(tbl1.x,4) = tbl2.b)
ORDER BY tbl1.x
A parte left(tbl1.x,4) faz o seguinte, pega os 4 primeiros caracters e compara com o users.b,ou seja um nome Mariovaldo...só será comparado Mari..
Parece facil ne? Depois de feito..tudo é mais facil hehehe
Select por mês - MySql
Select simples onde num cadastro qualquer vc tenha uma data, vamos supor q vc queira todos os registros realizados no mês 09,por exemplo:
SELECT
campo1, campo2, campo3
FROM
tabela
WHERE
month(campo_Data) = '09'
order by campo_data DESC
Pronto bem simples e funcional!!!
SELECT
campo1, campo2, campo3
FROM
tabela
WHERE
month(campo_Data) = '09'
order by campo_data DESC
Pronto bem simples e funcional!!!
Assinar:
Postagens (Atom)