SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
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
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
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));
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.
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();

    ?>
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();

?>
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();

?>
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();

?>
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();

?>
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();

?>
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();

?>
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.

Más contenido relacionado

La actualidad más candente

PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
Marco Pinheiro
 
Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)
guestcc491
 
Php curso de php com my sql
Php   curso de php com my sqlPhp   curso de php com my sql
Php curso de php com my sql
robinhoct
 

La actualidad más candente (18)

Apostila ib
Apostila ibApostila ib
Apostila ib
 
Acessando o MySql com o Python
Acessando o MySql com o PythonAcessando o MySql com o Python
Acessando o MySql com o Python
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
Alo mundojpa
Alo mundojpaAlo mundojpa
Alo mundojpa
 
Alguns comandos tais como Atribuir e revogar privilégios em SQL
Alguns comandos tais como Atribuir e revogar privilégios em SQLAlguns comandos tais como Atribuir e revogar privilégios em SQL
Alguns comandos tais como Atribuir e revogar privilégios em SQL
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
 
Apresentação Oracle SGBD
Apresentação Oracle SGBDApresentação Oracle SGBD
Apresentação Oracle SGBD
 
Sql - Introdução ao mysql
Sql - Introdução ao mysqlSql - Introdução ao mysql
Sql - Introdução ao mysql
 
Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)
 
Alto desempenho com banco de dados MySQL
Alto desempenho com banco de dados MySQLAlto desempenho com banco de dados MySQL
Alto desempenho com banco de dados MySQL
 
Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g
 
Otimização MySQL
Otimização MySQLOtimização MySQL
Otimização MySQL
 
Php curso de php com my sql
Php   curso de php com my sqlPhp   curso de php com my sql
Php curso de php com my sql
 
Oracle 11g resumo
Oracle 11g resumoOracle 11g resumo
Oracle 11g resumo
 
Conceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados MysqlConceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados Mysql
 
UNIFAL - MySQL Views - 5.0/5.6
UNIFAL - MySQL Views - 5.0/5.6UNIFAL - MySQL Views - 5.0/5.6
UNIFAL - MySQL Views - 5.0/5.6
 
Melhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySqlMelhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySql
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 

Similar a Aula 08 - Introdução ao banco de dados MySQL - Programação Web

Aula 12 Relatório - Tabelas
Aula 12   Relatório - TabelasAula 12   Relatório - Tabelas
Aula 12 Relatório - Tabelas
Dalton Martins
 
Progweb Aula8
Progweb Aula8Progweb Aula8
Progweb Aula8
softeam
 
Aula 09 - Instruções preparadas e otimização de consultas do Mysql - Program...
Aula 09  - Instruções preparadas e otimização de consultas do Mysql - Program...Aula 09  - Instruções preparadas e otimização de consultas do Mysql - Program...
Aula 09 - Instruções preparadas e otimização de consultas do Mysql - Program...
Dalton Martins
 
Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4
Carlos Santos
 
Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01
julianabdpaiva
 
LabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQLLabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQL
Carlos Santos
 
Apontamentos psi m18
Apontamentos psi m18Apontamentos psi m18
Apontamentos psi m18
tomascarol2
 

Similar a Aula 08 - Introdução ao banco de dados MySQL - Programação Web (20)

Aula 12 Relatório - Tabelas
Aula 12   Relatório - TabelasAula 12   Relatório - Tabelas
Aula 12 Relatório - Tabelas
 
Progweb Aula8
Progweb Aula8Progweb Aula8
Progweb Aula8
 
Sistema php
Sistema phpSistema php
Sistema php
 
Crud
CrudCrud
Crud
 
Sistema de Login php.pptx
Sistema de Login php.pptxSistema de Login php.pptx
Sistema de Login php.pptx
 
3260 php truquesmagicos
3260 php truquesmagicos3260 php truquesmagicos
3260 php truquesmagicos
 
Vb
VbVb
Vb
 
Aula 09 - Instruções preparadas e otimização de consultas do Mysql - Program...
Aula 09  - Instruções preparadas e otimização de consultas do Mysql - Program...Aula 09  - Instruções preparadas e otimização de consultas do Mysql - Program...
Aula 09 - Instruções preparadas e otimização de consultas do Mysql - Program...
 
Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4
 
Aula 8 php
Aula 8 phpAula 8 php
Aula 8 php
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
 
Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01
 
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
 
Aula 9 php (banco de dados)
Aula 9   php (banco de dados)Aula 9   php (banco de dados)
Aula 9 php (banco de dados)
 
PHP e MySQL para iniciantes
PHP e MySQL para iniciantesPHP e MySQL para iniciantes
PHP e MySQL para iniciantes
 
LabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQLLabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQL
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de Dados
 
Apontamentos psi m18
Apontamentos psi m18Apontamentos psi m18
Apontamentos psi m18
 
PHP MySQL Aula 03
PHP MySQL Aula 03PHP MySQL Aula 03
PHP MySQL Aula 03
 
Apresentação formação web - up marketing digital - módulo ii - 2º fds
Apresentação   formação web - up marketing digital - módulo ii - 2º fdsApresentação   formação web - up marketing digital - módulo ii - 2º fds
Apresentação formação web - up marketing digital - módulo ii - 2º fds
 

Más de Dalton Martins

Más de Dalton Martins (20)

Computação cognitiva e políticas culturais
Computação cognitiva e políticas culturaisComputação cognitiva e políticas culturais
Computação cognitiva e políticas culturais
 
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
 
Cultura digital, museus e acervos em rede
Cultura digital, museus e acervos em redeCultura digital, museus e acervos em rede
Cultura digital, museus e acervos em rede
 
Digitalização da cultura brasileira - as motivações do projeto Tainacan
Digitalização da cultura brasileira - as motivações do projeto TainacanDigitalização da cultura brasileira - as motivações do projeto Tainacan
Digitalização da cultura brasileira - as motivações do projeto Tainacan
 
Processos colaborativos de produção de ontologias - I Fórum Nacional de Sist...
Processos colaborativos de produção de ontologias  - I Fórum Nacional de Sist...Processos colaborativos de produção de ontologias  - I Fórum Nacional de Sist...
Processos colaborativos de produção de ontologias - I Fórum Nacional de Sist...
 
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
 
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
 
Criança, mídia e consumo na formação de professores
Criança, mídia e consumo na formação de professoresCriança, mídia e consumo na formação de professores
Criança, mídia e consumo na formação de professores
 
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
 
In search of a model of human dynamics analysis applied to social sciences
In search of a model of human dynamics analysis applied to social sciencesIn search of a model of human dynamics analysis applied to social sciences
In search of a model of human dynamics analysis applied to social sciences
 
Novos caminhos da inclusão digital: experiências do projeto +Telecentros
Novos caminhos da inclusão digital: experiências do projeto +TelecentrosNovos caminhos da inclusão digital: experiências do projeto +Telecentros
Novos caminhos da inclusão digital: experiências do projeto +Telecentros
 
Aula 01 introdução e conceitos básicos sobre gestão
Aula 01   introdução e conceitos básicos sobre gestãoAula 01   introdução e conceitos básicos sobre gestão
Aula 01 introdução e conceitos básicos sobre gestão
 
Apresentação Semana de Humanização da Saúde: uma visão quantitativa
Apresentação Semana de Humanização da Saúde: uma visão quantitativaApresentação Semana de Humanização da Saúde: uma visão quantitativa
Apresentação Semana de Humanização da Saúde: uma visão quantitativa
 
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
 
Design da Informação - Aula 03 - Princípios do design de informação
Design da Informação - Aula 03 - Princípios do design de informaçãoDesign da Informação - Aula 03 - Princípios do design de informação
Design da Informação - Aula 03 - Princípios do design de informação
 
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativaAula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
 
Aula 02 - Design da Informação - História e princípios do design de informação
Aula 02 - Design da Informação - História e princípios do design de informaçãoAula 02 - Design da Informação - História e princípios do design de informação
Aula 02 - Design da Informação - História e princípios do design de informação
 
Aula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesAula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrões
 
Aula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidianaAula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidiana
 
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
 

Último

Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
rfmbrandao
 

Último (20)

GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Acessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidadeAcessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidade
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxSlides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptx
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 

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.