/ mysql

Shell Script: acessando MYSQL

Estava dando uma estudada sobre Shell Script e descobri que tem como utilizar ele com MYSQL ou qualquer outro banco de dados. Realmente é uma linguagem poderosa, muitos administradores de servidores Linux utiliza Shell Script para automatizar algumas rotinas dos seu servidores porem a linguagem pode fazer muito mais que isso. Vou mostrar um exemplo mais básico somente para passar o conceito de como é. Primeiro vamos criar a nossa tabela de exemplo:

create database teste_pessoal; create table animal (id int(10) unsigned not null auto_increment, Nome varchar(80) not null, Tipo varchar(80) not null, primary key (id)) ENGINE=InnoDB;

Colocar alguns dados para listar na tela:

insert into animal (Nome,Tipo) values("Mel","Cao"); insert into animal (Nome,Tipo) values("Pitucha","Cao");

Agora o código em shell script

#!/bin/sh 
OQ=$1; # pegando valor de parâmetro 
#Controle do for 
set `mysql -u root -D teste_pessoal -s -e "select count(*) from animal where Nome='$OQ'" | tail -1`;CONT=$1; # Faz a consulta no mysql e coloca o valor na variavel CONT 
for i in $(seq $CONT); do 
	c=$(expr $i - 1); 
	set `mysql -u root -D teste_pessoal -s -e "select * from animal where Nome='$OQ' LIMIT $c,$i"`;
	ID=$1;NOME=$2;TIPO=$3; # Pega o valor do resultado e vai colocando nas variaveis ID, NOME, TIPO
	echo "Id: $ID" 
	echo "Nome: $NOME" 
	echo "Tipo: $TIPO" 
	echo "------------" 
done

Um otimo tutorial sobre isso pode se encontrar aqui: http://thobias.org/doc/shell_bd.html

Logico que é para programas pequenos sem muita complexidade, se começar a ter um nível de complexidade e controle de erros melhor olhar para python ou perl