mysql e phpmyadmin - dca.fee.unicamp.brglaucya/ifsp/lpii/lpii - mysql - phpmyadmin... · suporta o...
TRANSCRIPT
2
MySQLMySQL
● O MySQL é o banco de dados mais popular usado com PHP.
– Compatível com as linguagens PHP, C/C++, C#, Java entre outras.
● Ideal para pequenas e grandes aplicações
● Suporta o padrão SQL
● A combinação PHP/MySQL é multiplataforma
– Pode ser desenvolvida no Windows e usada no plataforma UNIX
● Download
– http://www.mysql.com
3
phpAdminphpAdmin
● O phpAdmin é um gerenciador de banco de dados para administrar o MySQL com interface web
● Com o phpAdmin é possível:– Criar, alterar e remover tabelas e bases de bados
– Inserir, editar e remover dados de tabelas
– Importar e exportar tabelas e bases de dados
– Suporta consultas em SQL
● O aplicativo foi desenvolvido em PHP.● Download
– http://www.phpmyadmin.net
4
phpMyAdminphpMyAdmin
5
phpMyAdminphpMyAdmin
6
Classe MySQLiClasse MySQLi
● Classe que representa uma conexão entre o PHP e um banco de dados MySQL.– Atributos
● affected_rows — Número de linhas afetadas pela operação MySQL anterior
● error — String que descreve o ultimo erro● server_info — Versão do servidor MySQL● server_version — Versão do servidor MySQL como um
integer● …
7
Classe MySQLiClasse MySQLi
● Métodos
__construct() ● Abre uma conexão com servidor MySQL
close() ● Fecha uma conexão aberta anteriormente
select_db() ● Seleciona uma base de dados(database)
query() ● Realiza uma consulta na base de dados
…
8
Classe MySQLi_ResultClasse MySQLi_Result
● Representa o conjunto de resultados da consulta feita à base da dados(database) – Atributos
● num_rows — Número de linhas retornado da consulta● field_count — Número de colunas retornada da
consulta● lengths — Tamanho das colunas da atual linha
retornado da consulta● current_field — Linha atual retornado do método
fetch_field()
9
Classe MySQLi_ResultClasse MySQLi_Result
● Métodos
mysqli_fetch_assoc() ● Obtem uma linha do conjunto de resultados como uma matriz
associativa● Percorre resultados de uma pesquisa
mysqli_fetch_row() ● Obtém uma linha do resultado como uma matriz numerada
fetch_object() ● Retorna a linha atual do conjunto de resultados como um objeto
free()● Libera memória do conjunto de resultados chamado
…
10
Classe MySQLiClasse MySQLi
● Conexão com o banco de dado
– Exemplo
__construct(string $host, string $username, string $passwd, string $dbname, string $port,string $socket);
$db = new mysqli($host,$username,$passwd);
11
Conexão com o banco de dado Conexão com o banco de dado<?php
$host = "localhost";
$username = "root"; $passwd = "";
$db = new mysqli($host,$username,$passwd);
if ($db>connect_error){// Verifica a conexão
die('Erro('.$db>connect_errno.')'
.$db>connect_error);
}else{
echo "Conexão aberta";
}
?>
12
Conexão com o banco de dado Conexão com o banco de dado<?php
$host = "localhost"; $username = "root";
$passwd = ""; $dbname = 'books';
$db = new mysqli($host,$username,$passwd,$dbname);
if ($db>connect_error){// Verifica a conexão
die('Erro('.$db>connect_errno.')'
.$db>connect_error);
}else{
echo "Conexão aberta";
}
?>
13
Classe MySQLiClasse MySQLi
● Fechar uma conexão aberta anteriormente com o banco de dados– Método
– Exemplo
bool close ( void );
$db>close();
14
Conexão com o banco de dado Conexão com o banco de dado<?php
$host = "localhost";
$username = "root"; $passwd = "";
$db = new mysqli($host,$username,$passwd);
if ($db>connect_error){// Verifica a conexão
die('Erro('.$db>connect_errno.')'.$db>connect_error);
}else{
echo "Conexão aberta";
$db>close();
}
?>
15
Classe MySQLiClasse MySQLi
● Selecionar uma base de dados
– Exemplo
bool select_db(string $dbname);
$db>select_db("books");
16
Conexão com o banco de dado Conexão com o banco de dado<?php
$host = "localhost";
$username = "root"; $passwd = "";
$db = new mysqli($host,$username,$passwd);
if ($db>connect_error){// Verifica a conexão
die('Erro('.$db>connect_errno.')'.$db>connect_error);
}else{
$db>select_db("books");
$db>close();
}
?>
17
Classe MySQLiClasse MySQLi
● Realizar uma consulta na base de dados
– Exemplo
mixed query(string $query)
$db>query("SELECT author FROM books");
18
Criação da base de dadosCriação da base de dados
● SQL
● PHP
CREATE DATABASE dbname;
$sql = "CREATE DATABASE ".$dbname;
$db>query($sql);
19
Criação da base de dadosCriação da base de dados<?php
$db = new mysqli($host,$username,$passwd);
if ($db>connect_error){// Verifica a conexão
die('Erro('.$db>connect_errno.')'.$db>connect_error);
}
$dbname = "books";
$sql = "CREATE DATABASE ".$dbname;
if($db>query($sql)){
echo "Base de dados criada com sucesso";
}
$db>close();
?>
20
Criação da base de dadosCriação da base de dados
21
Deletar uma base de dadosDeletar uma base de dados
● SQL
● PHP
DROP DATABASE dbname;
$sql = "DROP DATABASE ".$dbname;
$db>query($sql);
22
Deletar Base de DadosDeletar Base de Dados
$dbname = "books";
$sql = "DROP DATABASE ".$dbname;
if($db>query($sql)){
echo "Base de dados deletada com sucesso";
}
23
Criação de tabelasCriação de tabelas
CREATE TABLE nome_tabela(
nome_coluna1 tipo_de_dado(size),
nome_coluna2 tipo_de_dado(size),
nome_coluna3 tipo_de_dado(size),
…
);
● SQL
24
Tabela BooksTabela Books
create table books( isbn char(13) not null primary key,author char(30),title char(60),price float(4,2)
);
25
Criação de tabelaCriação de tabela
$sql = "CREATE TABLE books(
isbn char(13) NOT NULL,
author char(30),
title char(60),
price float(4,2),
PRIMARY KEY(isbn)
)";
$db>query($sql);
● PHP– Exemplo
26
Criação de tabelasCriação de tabelas<?php
$db = new mysqli($host,$username,$passwd,$dbname);
$sql = "CREATE TABLE books(isbn char(13) NOT NULL,
author char(30), title char(60),price float(4,2),
PRIMARY KEY(isbn))";
if($db>query($sql)){
echo "Tabela criada com sucesso.";
}
$db>close();
?>
27
Criação de tabelasCriação de tabelas
28
Inserção de dadosInserção de dados
INSERT INTO nome_tabela
VALUES (
valor1, valor2, valor3, …
);
INSERT INTO books
VALUES ('8535911693 ', 'Jorge Amado',
'Capitães da Areia', 30.80);
Exemplo
29
Inserção de dadosInserção de dados
$sql = "INSERT INTO books
VALUES('8535911693', 'Jorge Amado', 'Capitães da Areia', 30.80)";
if($db>query($sql)){
echo "Livro inserido com sucesso.";
}
30
Inserção de dadosInserção de dados
31
Inserção de dadosInserção de dados
INSERT INTO nome_tabela (
coluna1, coluna2, coluna3, ...)
VALUES (
valor1, valor2, valor3, ...);
Exemplo
INSERT INTO books (isbn, author, title,price)VALUES ( '8577994171', 'José de Alencar', 'Til', 18.00);
32
Inserção de dadosInserção de dados
$sql = "INSERT INTO books(
isbn,author, title,price)
VALUES('8577994171','José de Alencar', 'Til', 18.00)";
if($db>query($sql)){
echo "Livro inserido com sucesso.";
}
33
Inserção de dadosInserção de dados
34
Insere livro .htmlInsere livro .html<html> <body> <h1>Dados do livro</h1> <form action="insert_book.php" method="post"> ISBN:<input type="text" name="isbn" maxlength="13" size="13"><br /> Autor:<input type="text" name="author" maxlength="30" size="30"><br />
Título:<input type="text" name="title" maxlength="60" size="30"><br>
Preço R$:<input type="text" name="price" maxlength="7" size="7"><br />
<input type="submit" value="Enviar"> </form> </body></html>
35
insert_book.phpinsert_book.php<?php echo 'Livraria';
$isbn = $_POST['isbn']; $author = $_POST['author']; $title = $_POST['title']; $price = $_POST['price'];
if (!$isbn || !$author || !$title || !$price){ echo 'Você não enviou todos os dados necessários.'; exit;
}
$price = doubleval($price);
//...
36
insert_book.phpinsert_book.php //... $db = new mysqli("localhost","root","",'books');
if ($db>connect_error){ die('Erro('.$db>connect_errno.')'
.$db>connect_error);
}
$sql = "insert into books values('".$isbn."','".$author."','".$title."','". $price."')";
if ($db>query($sql)){
echo 'Livro inserido com sucesso.'; }
$db>close(); ?>
37
Inserção de dadosInserção de dados
38
ConsultaConsulta
SELECT coluna1, coluna2,…
FROM nome_tabela;
SELECT title, author FROM books;
Exemplos
39
ConsultaConsulta
$sql = "SELECT title, author
FROM books";
$result = $db>query($sql);
40
ConsultaConsulta
$sql = "SELECT title, author
FROM books";
if ($result = $db>query($sql)){
while ($book = $result>fetch_object()) {
echo '<p>Título: '. $book>title ;
echo ', Autor: '.$book>author.'</p>';
}
$result>free();
}
41
Resultado da consultaResultado da consulta
SELECT title, author
FROM books;
42
ConsultaConsulta
SELECT *
FROM nome_tabela;
Exemplos
SELECT *FROM books;
43
ConsultaConsulta
$sql = "SELECT *
FROM books";
$result = $db>query($sql);
44
ConsultaConsulta$sql = "SELECT * FROM books";
if ($result = $db>query($sql)){
while ($book = $result>fetch_object()) {
echo '<p>Título: '. $book>title ;
echo '<br/> Autor: '. $book>author;
echo '<br />ISBN: '. $book>isbn;
echo '<br />Preço: '.$book>price.'</p>';
}
$result>free();
}
45
Resultado da consultaResultado da consulta
SELECT *
FROM books;
46
Cláusula whereCláusula where
SELECT coluna1, coluna2,…
FROM nome_tabela
WHERE coluna operador valor;
SELECT title, author FROM booksWHERE (price > 15.5);
Exemplos
47
Cláusula whereCláusula where
48
ConsultaConsulta
$sql = "SELET title, author
FROM books
WHERE (price > 15.5)";
$result = $db>query($sql);
49
ConsultaConsulta
$sql = "SELECT title, author FROM books WHERE (price > 15.5)";
if ($result = $db>query($sql)){
while ($book = $result>fetch_object()) {
echo '<p>Título: '. $book>title ;
echo '<br/>Autor: '.$book>author.'</p>';
}
$result>free();
}
50
Resultado da consultaResultado da consulta
SELET title, author
FROM books
WHERE (price > 15.5);