Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Documentos relacionados
PHP INTEGRAÇÃO COM MYSQL PARTE 2

Curso PHP Aula 08. Bruno Falcão

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Prof. Carlos Majer Aplicações Corporativas UNICID

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

BANCO DE DADOS WEB. Professor Luciano Roberto Rocha

Profº Aldo Rocha. Banco de Dados

Modelagem de banco de dados com MySQL Workbench

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

TECNOLOGIA WEG II PHP com SGBD MYSQL

Structured Query Language (SQL)

Programação Web Prof. Wladimir

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Treinamento em PHP. Aula 7. Ari Stopassola Junior

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

Comandos de Manipulação

Minicurso3 Introdução ao Banco de Dados MySQL

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

JDBC Java Database Connectivity

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Treinamento sobre SQL

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

O que são Bancos de Dados?

SQL. Autor: Renata Viegas

MYSQL BÁSICO. 12 Horas Instrutor: Antonio Itamar Júnior

Linguagem SQL (Parte I)

Principais Comandos SQL Usados no MySql

INTRODUÇÃO BANCO DE DADOS(MYSQL) E PHP

Programação SQL. Introdução

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Disciplina: Unidade V: Prof.: Período:

A linguagem SQL

13 Conectando PHP com MySQL 13.1 Introdução

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

1. Domínio dos Atributos

Linguagem SQL Parte I

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

ADMINISTRAÇÃO DE BANCO DE DADOS

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião

EXERCÍCIOS PRÁTICOS. Banco de Dados

PHP (Seções, Cookies e Banco de Dados)

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Linguagem SQL Sub-linguagem DDL

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

SQL Structured Query Language

Linguagem de Consulta Estruturada SQL- DML

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

Persistência de Dados

EXEMPLOS DE COMANDOS NO SQL SERVER

SQL (Structured Query Language)

Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2

Programação SQL. Manipulação de Dados. DML Data Manipulation Language

Comandos DDL. id_modulo = id_m odulo

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva -

SQL (Structured Query Language)

Introdução à linguagem SQL

NOME SEXO CPF NASCIMENTO SALARIO

SQL (Structured Query Language)

MySQL - Operações com SQL básico

Tarefa Orientada 15 Manipulação de dados

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

Disciplina de Banco de Dados Parte V

Nome: n.º WEB Série 2B 2C 2D 2E Barueri, 17/08/2009 2ª Postagem Disciplina: Gerenciamento e Estrutura de Banco de Dados Professor: Márcio

Manual do usuário. Softcall Java. versão 1.0.5

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

CRIANDO, ALTERADO E EXCLUINDO TABELAS, INSERINDO, SELECIONANDO, ALTERANDO E EXCLUINDO DADOS

Banco de Dados. Maurício Edgar Stivanello

Sensor de temperatura Parte 5 Cleiton Bueno Preparando o ambiente do Banco de dados Mysql

Linguagem de Consulta Estruturada (SQL)

Principais Instruções em SQL

Projeto de Banco de Dados: Empresa X

Aula 1 Acesso a Banco de Dados

CE-240 ListEx 1. Lista de Exercícios 1. Relatório

SQL UMA ABORDAGEM INTERESSANTE

MySQL. Prof. César Melo. com a ajuda de vários

Banco de Dados. Prof. Leonardo Barreto Campos 1

1. SQL Instrumental Select Delete Update Insert Group by Having Unnion All...

Como funciona? SUMÁRIO

Aula 1: Noção Básica e Criação de Tabelas.

Manipulação de Banco de Dados com Java 1. Objetivos

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Microsoft Access XP Módulo Um

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

Transcrição:

PHP e Banco de Dados progweb2@thiagomiranda.net

Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net

PHP e Banco de Dados É praticamente impossível atualmente criar sistemas de qualquer porte que não interajam com formas de armazenar e recuperar informações para acessos futuros. E banco de dados é uma forma simples e organizada de armazenar itens de dados relacionados PHP oferece suporte a Banco de Dados Relacionais mais populares disponíveis na atualidade. A grande maioria é compatível com o padrão SQL. PHP oferece um conjunto separado de funções para cada produto de banco de dados ou SGBD (MySQL, PostgreSQL, Oracle, Sybase, SQLServer, são alguns exemplos).

Bancos de Dados As informações são organizadas logicamente em tabelas Cada banco de dados contém uma ou mais tabelas de informação cada tabela possui um ou mais campos, ou colunas, e podem armazenar qualquer número de linhas ou registros Sistemas de bancos de dados sofisticados permitem relacionar estes registros. Por exemplo, relacionando os dados de compra realizadas por um cliente. Esses sistemas são conhecidos como Sistemas de Banco de Dados Relacionais Cada campo, ou coluna, de uma tabela possui um tipo de dado associado. Semelhante ao tipo de dado de uma variável do PHP. Sendo os maiores grupos os tipos texto, data, numérico Além do tipo de dados, campos de tabela podem ser chave primária. Forçando assim que o valor do campo seja único para cada registro SQL é a linguagem padrão para consulta e manipulação dos dados de um banco de dados relacional.

MySQL Utilizaremos o MySQL como banco de dados MySQL + PHP -Combinam perfeitamente - Facilidade de instalação e uso, - Documentação de qualidade - Performance otimizada -Não exige grande capacidade de hardware - Gratuito - Compatível com diversos sistemas operacionais - Uso crescente pelas empresas.

Tabelas Os dados em MySQL são armazenadas em objetos de banco de dados chamado tabelas que são uma coleção de entradas de dados relacionados e que consiste de colunas e linhas. Cada tabela é identificada por um nome (por exemplo, "clientes" ou "ordens"). As tabelas contêm registros (linhas) com dados. Abaixo está um exemplo de uma tabela chamada "Pessoas":

Tabelas A tabela anterior contém três linhas (um para cada pessoa) e quatro colunas (Sobrenome, Nome, Endereço e Cidade). Consultas A consulta é uma pergunta ou um pedido. Com o MySQL, que pode consultar um banco de dados para obter informações específicas e ter um conjunto de registros retornado. Olhe para a seguinte consulta: SELECT Sobrenome FROM Pessoas

Principais comandos SQL no Mysql SELECT: consultar dados de um banco de dados UPDATE: atualizar dados de um banco de dados DELETE: excluir dados existentes em um banco de dados INSERT INTO: inserir novos dados em um banco de dados CREATE DATABASE: criar um banco de dados ALTER DATABASE: alterar um banco de dados CREATE TABLE: criar uma tabela em um banco de dados ALTER TABLE: alterar uma tabela de um banco de dados DROP TABLE: excluir uma tabela de um banco de dados

Conectando ao Banco de Dados Criar uma conexão com um banco de dados MySQL Antes que você possa acessar dados em um banco de dados, você deve criar uma conexão com o banco de dados. No PHP, isso é feito com a função mysql_connect(). $conexao = mysql_connect("localhost", "root", senha"); Esta função utiliza os seguintes parâmetros: localhost nome ou endereço IP do servidor onde está armazenado o banco de dados; root nome do usuário que tem acesso ao banco de dados senha sua senha de acesso ao banco de dados.

Criando um Banco de Dados Para criarmos, em PHP, um banco de dados de nome biblioteca, por exemplo, faríamos como se segue: $sql = "CREATE DATABASE IF NOT EXISTS biblioteca"; $resultado = mysql_query($sql) or die(mysql_error());

Selecionando um Banco de Dados Após feita a conexão, o PHP exige que você especifique qual o banco de dados que estará em uso; Exemplo: o comando abaixo abre o banco de dados biblioteca e o deixa pronto para uso: mysql_select_db( "biblioteca");

Criando uma tabela A instrução CREATE TABLE é usado para criar uma tabela no MySQL. Sintaxe CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, column_name3 data_type,... ) Devemos acrescentar a declaração CREATE TABLE para a função mysql_query() para executar o comando.

Criando uma tabela A instrução CREATE TABLE é usado para criar uma tabela no MySQL. Sintaxe CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, column_name3 data_type,... ) Devemos acrescentar a declaração CREATE TABLE para a função mysql_query() para executar o comando.

Tipos de dados aceitos no Mysql M - Indica o tamanho máximo. Valor máximo - 255 D - Utilizado para ponto flutuante, indicando o número de casas decimais. Valor máximo - 30 TINYINT[M]: Números Inteiros muitos pequenos. Pode assumir intervalo de valores entre - 128 a 127 SMALLINT[M]: Números inteiros pequenos. Valores entre - 32769 a 32767 MEDIUMINT[M]: Números inteiros de tamanho médio. Entre -8388608 a 8388607 INT[M]: Inteiros de tamanho normal. Entre -2147483648 a 2147483647 BIGINT[M]: Inteiros de tamanho grande. Entre -9223372036854775808 9223372036854775807 FLOAT[M,D]: Números em ponto flutuante pequenos (simples precisão). O valor de M corresponde ao tamanho e D ao número de casas decimais DOUBLE[M,D]: Números ponto flutuante de tamanho normal.

Tipos de dados aceitos no Mysql DATE: Armazena valores de data. Os dados são gravados no formato YYYY-MM-DD DATETIME: Combinação entre data e hora. Formato: YYYY-MM-DD HH:MM:SS TIME: Para armazenar valores de hora. Valores entre -838:59:59 a 838:59:59 CHAR(M): Valores de String. VARCHAR(M): Armazena uma cadeia de caracteres. De 0 a 255 Caracteres TEXT: Um texto máximo de 65535 caracteres MEDIUMTEXT: Um Texto de tamanho Médio LONGTEXT: Texto de tamanho grande. No máximo 4.294.967.295 BLOB: Arquivos binários

Criando uma tabela Para criarmos uma tabela de nome cadastro, com os campos abaixo, faríamos: A)codigo campo de texto com tamanho de 5 caracteres; B)nome campo de texto com tamanho de 50 caracteres; C)idade campo numérico inteiro; D)Altura campo numérico float; $sql = "CREATE TABLE IF NOT EXISTS cadastro(codigo int NOT NULL PRIMARY KEY AUTO_INCREMENT, nome varchar(50) NOT NULL, idade tinyint NOT NULL, altura float NOT NULL)"; $resultado = mysql_query($conexao, $sql) or die(mysql_error($conexao)); Observações: a)not NULL indica que aquele campo deverá ter algum valor e não poderá ser nulo ao ser salvo na tabela; b)note que vazio não é a mesma coisa que nulo vazio tem endereço na memória e nulo não tem; c)primary KEY indica que aquele campo é chave primária da tabela; d)auto_increment cria índices que aumentam de 1 em 1, automaticamente, começando por 1.

Criando uma tabela Importante: Um banco de dados deve ser selecionado antes de uma tabela pode ser criada. O banco de dados é selecionada com a função mysql_select_db (). Nota: Quando você cria um campo de banco de dados do tipo varchar, você deve especificar o comprimento máximo do campo, por exemplo, varchar(15). O tipo de dados especifica o tipo de dados a coluna pode conter como foi falado anteriormente.

Fechando uma conexão Mysql Ao usarmos bancos de dados que se baseiam na linguagem de manipulação SQL, é imprescindível que, após o término das operações, o banco seja fechado; Para isto, basta, em PHP, encerrarmos a conexão; Isso é feito através da função: mysql_close($conexao);

Comandos SQL no PHP Depois de criada uma conexão e selecionada a base, podemos utilizar todos os comandos da linguagem SQL para manipularmos nosso banco de dados; Todo acesso ao banco de dados é feito pela função mysql_query( consulta );

Inserindo dados Inserir dados em uma tabela do banco A instrução INSERT INTO é utilizado para adicionar novos registros a uma tabela de banco de dados. Sintaxe É possível escrever a instrução INSERT INTO em duas formas. A primeira forma não especifica o nome da coluna onde os dados serão inseridos, apenas os seus valores: INSERT INTO tabela VALUES (valor1, valor2, valor3,...) A segunda forma especifica tanto os nomes das colunas e os valores a serem inseridos: INSERT INTO tabela (coluna1, coluna2, column3,...) VALUES (valor1, valor2, valor3,...)

Vamos testar Crie um formulário que envia os dados para uma página PHP que fará a inserção dos itens na tabela cadastro que criamos a pouco.

Recupera o último ID Inserido mysql_insert_id();

Selecionar Dados Selecionar dados de uma tabela de banco de dados A declaração SELECT é usado para selecionar dados de um banco de dados. Sintaxe SELECT nomes_das_colunas FROM nome_tabela Para executar a instrução acima, devemos usar o a função mysql_query().

Selecionar Dados Exemplo O exemplo a seguir seleciona todos os dados armazenados na "tabela Pessoas" (O símbolo * seleciona todos os dados na tabela): <?php $con = mysql_connect("localhost", root", "); if (!$con) { Die(mysql_error()); } mysql_select_db( biblioteca", $con); $result = mysql_query("select * FROM cadastro"); while($row = mysql_fetch_array($result)) { echo $row[ nome']. " ". $row[ idade']; echo "<br />"; } mysql_close($con);?>

Selecionar Dados O exemplo anterior armazena os dados retornados pela função mysql_query() na variável $result. Em seguida, usamos a função mysql_fetch_array() para retornar a primeira linha do conjunto de registros como uma matriz. Cada chamada para mysql_fetch_array() retorna a próxima linha no conjunto de registros. O while passa através de todos os registros no conjunto de registros. Para imprimir o valor de cada linha, usamos a variável $row ($row[ nome ] e $row[ idade ])

Principais funções

Cláusula Where A Cláusula WHERE é usada para filtrar registros. WHERE WHERE é usado para extrair somente aqueles registros que preenchem um critério especificado. Sintaxe SELECT column_name(s) FROM table_name WHERE column_name operator value

Cláusula Where Exemplo select * from cadastro where idade > 18; -A clausula assim somente retorna cadastros de pessoas em que o campo idade é maior que 18.

Operadores da Cláusula Where = : Igual <> : Diferente > : Maior Que < : Menor que >= : Maior ou Igual <= : Menor ou Igual

Operadores da Cláusula Where BETWEEN : Entre determinados valores SELECT * FROM Pessoa WHERE idade BETWEEN 20 AND 30 LIKE : Busca por um padrão SELECT * FROM Pessoa WHERE nome LIKE '%ter ' IN : Específica multiplas possibilidades de valor SELECT * FROM Pessoa WHERE idade in (30,31,32,33,34)

Order by A palavra-chave ORDER BY é usado para ordenar os dados em um conjunto de dados. ORDER BY ordena os registros de forma ascendente por padrão. Se você quiser ordenar os registros em ordem descendente, nós podemos usar a palavra-chave DESC. Sintaxe SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC DESC

Order by Exemplo: SELECT * FROM cadastro ORDER BY idade DESC Ordena os itens cadastrados pela coluna idade de forma decrescente.

Order by Ordenando por duas Colunas Também é possível ordenar por mais que uma coluna. Quando ordenamos por mais de uma coluna, a segunda coluna é usada somente se os valores da primeira coluna são iguais: SELECT column_name(s) FROM table_name ORDER BY column1, column2

LIMIT Outra cláusula muito útil para consultas é a LIMIT. Que permite retornar somente um número especificado de registros da tabela. Muito útil para efeito de paginação do resultado, quando o mesmo não cabe na janela de exibição. Por exemplo, esta consulta retorna somente os dez primeiros contatos cadastrados: SELECT * FROM cadastro LIMIT 1, 10; Programação WEB II

Selecionando Dados - Exemplo <? php $result = mysql_query (" SELECT * FROM cadastro ");?> <table border ='1'> <tr ><th >Nome </th > <th > Sobrenome </th ></tr > <? php while ( $row = mysql_fetch_array ( $result )){?> <tr ><td > <?= $row ['Nome '];? > </td > <td > <?= $row ['Sobrenome '];? > </td ></tr > <? php }?> </table >

Atualizando Dados UPDATE é usado para atualizar registros existentes na tabela. Sintaxe UPDATE table_name SET coluna1=valor, coluna2=valor2 WHERE coluna = valor Nota: Note a cláusula WHERE na sintaxe do UPDATE. A cláusula WHERE especifica qual registro ou registros deve ser atualizado. Se você omitir a cláusula WHERE, todos os registros serão atualizados!

Atualizando Dados Exemplo UPDATE cadastro SET Idade = 36 WHERE cod = 1 A idade do castro de Código 1 será alterado para 36.

Deletando Dados A instrução DELETE é usada para apagar registros da tabela. Apagando dados do Banco de Dados Sintaxe DELETE FROM table_name WHERE some_column = some_value Note: Note a cláusula WHERE na sintaxe do DELETE. WHERE especifica qual registro ou registros serão deletados. Se você omitir a cláusula WHER, todos os registros serão deletados.

Deletando Dados Exemplo DELETE FROM cadastro WHERE idade = 36 Programação WEB II Essa SQL irá apagar os cadastros que tem o campo idade igual a 36.

Trabalho Prático Crie uma agenda de contatos, esta agenda contará com um formulário para cadastrar um novo contato com Nome, Sobrenome, Idade, Telefone e Email. Também terá uma tela para listar os itens cadastrados em uma tabela com dois botões, um para editar e outro para excluir os itens da agenda.