Aula 08 - Introdução ao banco de dados MySQL - Programação Web
1. Programação Web
Fatec Ipiranga
Análise e Desenvolvimento de Sistemas
Aula 08 – Introdução ao uso do banco de dados MySQL
Dalton Martins
dmartins@gmail.com
São Paulo, Outubro, 2011
2. Acessando o banco
Teremos duas formas de acessar diretamente o
banco de dados usando o XAMPP:
- via web, utilizando o phpMyAdmin;
Http://localhost/phpmyadmin
- via linha de comando, utilizando o programa
interpretador de comandos para o MySQL
C:xamppmysqlbinmysql
3. Criando uma tabela no MySQL
Para nossos exemplos, criamos uma tabela diretamente na linha de comando:
1. o primeiro passo é nos logarmos no MySQL com as permissões necessárias para criar uma tabela:
Comando: mysql -h localhost -u root -p
2. criamos um banco de dados:
Comando: CREATE DATABASE exemplos;
3. selecionamos o banco de dados:
Comando: USE exemplos;
4. criamos a tabela com os campos necessários:
Comando:
CREATE TABLE produtos (
id INT NOT NULL AUTO_INCREMENT,
tipo VARCHAR(8) NOT NULL,
nome VARCHAR(100) NOT NULL,
preco DECIMAL(5,2) NOT NULL,
PRIMARY KEY(id));
4. Inserindo dados no MySQL
Para popular a tabela que criamos anteriormente,
podemos incluir dados diretamente no MySQL
utilizando o comando INSERT:
INSERT INTO produtos (id, tipo, nome, preco)
VALUES (null, 'teclado','abnt2 ','10');
Observação: coloque alguns produtos na tabela para que possamos utilizar em nossos
exemplos posteriores.
5. Acessando o MySQL no PHP
Utilizaremos uma extensão do PHP, chamada
mysqli, que fará a conexão com o banco,
permitindo acessarmos suas funcionalidades.
Utilizaremos a extensão como uma classe em
PHP.
<?php
// Temos de passar como parâmetro para a instanciação da classe
//os valores de: servidor,login, senha, nome do banco de dados
$mysqli = new mysqli('localhost','root','','exemplos');
$mysqli->close();
?>
6. Consultando dados nas tabelas
<?php
// cria a conexão com o banco de dados
$mysqli = new mysqli('localhost','root','','exemplos');
// monta a consulta SQL
$consulta = 'SELECT tipo,nome,preco FROM produtos ORDER by nome';
// gera a consulta e retorna os resultados para um objeto $resultado
$resultado = $mysqli->query($consulta);
// utiliza o método fetch_row() do objeto $resultado para alocar o conteúdo
// de cada linha da consulta em 3 variáveis independentes.
while(list($tipo,$nome,$preco) = $resultado->fetch_row())
printf(" %s - %s - R$%s <br />",$tipo,$nome,$preco);
$mysqli->close();
?>
7. Inserindo dados na tabela
<?php
// cria a conexão com o banco de dados
$mysqli = new mysqli('localhost','root','','exemplos');
// monta a inserção em SQL
$insere = 'INSERT INTO produtos (id, tipo, nome, preco) VALUES (null, 'monitor','touch','200')';
// gera a inserção e retorna os resultados para um objeto $resultado
$resultado = $mysqli->query($insere);
$mysqli->close();
?>
8. Apagando dados de uma tabela
<?php
// cria a conexão com o banco de dados
$mysqli = new mysqli('localhost','root','','exemplos');
// monta o comando para apagar em SQL
$apaga = 'DELETE FROM produtos WHERE tipo = 'mouse'';
// apaga e retorna os resultados para um objeto $resultado
$resultado = $mysqli->query($apaga);
$mysqli->close();
?>
9. Atualizando dados de uma tabela
<?php
// cria a conexão com o banco de dados
$mysqli = new mysqli('localhost','root','','exemplos');
// monta a atualização em SQL
$atualiza = 'UPDATE produtos SET preco='50' WHERE tipo = 'teclado'';
// gera a atualização e retorna os resultados para um objeto $resultado
$resultado = $mysqli->query($atualiza);
$mysqli->close();
?>
10. Número de linhas que atendem a uma consulta
<?php
// cria a conexão com o banco de dados
$mysqli = new mysqli('localhost','root','','exemplos');
// monta a consulta SQL
$consulta = 'SELECT nome FROM produtos WHERE preco > 20';
// gera a consulta e retorna os resultados para um objeto $resultado
$resultado = $mysqli->query($consulta);
// utiliza a variável num_rows do objeto resultado para apontar
// quantas linhas que atendem ao critério da consulta
printf("Ha %d produto(s) acima de R$ 20,00. <br />",$resultado->num_rows);
// realizando a consulta novamente, mas para outro critério
$consulta = 'SELECT nome FROM produtos WHERE preco > 200';
$resultado = $mysqli->query($consulta);
printf("Ha %d produto(s) acima de R$ 200,00.",$resultado->num_rows);
$mysqli->close();
?>
11. Número de linhas afetadas por uma operação
<?php
// cria a conexão com o banco de dados
$mysqli = new mysqli('localhost','root','','exemplos');
// monta a atualização em SQL
$atualiza = 'UPDATE produtos SET preco='50' WHERE preco = '100'';
// gera a atualização e retorna os resultados para um objeto $resultado
$resultado = $mysqli->query($atualiza);
// utiliza a variável affected_rows do objeto mysqli para retornar
// o número de linhas da tabela que foram afetadas pelo comando SQL.
printf("Ha %d produto(s) afetados.",$mysqli->affected_rows);
$mysqli->close();
?>
12. Exercícios
Cria um programa que faça:
1. um formulário para cadastrar clientes de uma loja, contendo os seguintes
campos:
• Nome, RG, CPF, endereço, bairro, cidade, estado, CEP, e-mail e telefone.
2. cria um banco de dados e uma tabela para armazenar os dados;
3. permita que seu usuário possa gravar os dados no banco, consultar por
nome, cidade, estado e CPF, apresentando os resultados em formato tabela.
4. permita que seu usuário possa atualizar dados cadastrais de um cliente;
5. permita que seu usuário possa apagar o registro de um cliente;
5. permita que seu usuário possa gerar um relatório de todos os clientes
cadastrados.
Em todas as operações SQL, mostra quantos resultados foram afetados ou
retornados.