mysql e phpmyadmin - dca.fee.unicamp.brglaucya/ifsp/lpii/lpii - mysql - phpmyadmin... · suporta o...

50
MySQL e phpMyAdmin Prof. Gláucya Boechat [email protected]

Upload: doanbao

Post on 09-Nov-2018

257 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

MySQL e

phpMyAdmin

Prof. Gláucya [email protected]

Page 2: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

Page 3: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

Page 4: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

4

phpMyAdminphpMyAdmin

Page 5: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

5

phpMyAdminphpMyAdmin

Page 6: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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● …

Page 7: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

Page 8: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

Page 9: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

Page 10: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

Page 11: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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";

    }

?>

Page 12: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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";

    }

?>

Page 13: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

13

Classe MySQLiClasse MySQLi

● Fechar uma conexão aberta anteriormente com o banco de dados– Método

– Exemplo

bool close ( void );

$db­>close(); 

Page 14: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

 }

?>

Page 15: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

15

Classe MySQLiClasse MySQLi

● Selecionar uma base de dados

– Exemplo

bool select_db(string $dbname);

$db­>select_db("books"); 

Page 16: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

 }

?>

Page 17: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

17

Classe MySQLiClasse MySQLi

● Realizar uma consulta na base de dados

– Exemplo

mixed query(string $query)

$db­>query("SELECT author FROM books"); 

Page 18: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

18

Criação da base de dadosCriação da base de dados

● SQL

● PHP

CREATE DATABASE dbname; 

$sql = "CREATE DATABASE ".$dbname;

$db­>query($sql); 

Page 19: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão 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(); 

?>

Page 20: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

20

Criação da base de dadosCriação da base de dados

Page 21: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

21

Deletar uma base de dadosDeletar uma base de dados

● SQL

● PHP

DROP DATABASE dbname; 

$sql = "DROP DATABASE ".$dbname;

$db­>query($sql); 

Page 22: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão 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";

 }

Page 23: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

Page 24: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão 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)

);

Page 25: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

Page 26: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

?>

Page 27: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

27

Criação de tabelasCriação de tabelas

Page 28: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

Page 29: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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.";

}

Page 30: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

30

Inserção de dadosInserção de dados

Page 31: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

Page 32: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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.";

}

Page 33: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

33

Inserção de dadosInserção de dados

Page 34: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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>

Page 35: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

  //...

Page 36: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

Page 37: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

37

Inserção de dadosInserção de dados

Page 38: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

38

ConsultaConsulta

SELECT coluna1, coluna2,… 

FROM nome_tabela;

SELECT title, author FROM books;

Exemplos

Page 39: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

39

ConsultaConsulta

$sql = "SELECT title, author

 FROM books";

$result = $db­>query($sql);

Page 40: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão 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();

 }

Page 41: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

41

Resultado da consultaResultado da consulta

SELECT title, author

FROM books;

Page 42: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

42

ConsultaConsulta

SELECT * 

FROM nome_tabela;

Exemplos

SELECT *FROM books;

Page 43: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

43

ConsultaConsulta

$sql = "SELECT *

 FROM books";

$result = $db­>query($sql);

Page 44: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão 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();

 }

Page 45: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

45

Resultado da consultaResultado da consulta

SELECT *

FROM books;

Page 46: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

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

Page 47: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

47

Cláusula whereCláusula where

Page 48: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

48

ConsultaConsulta

$sql = "SELET title, author

 FROM books

 WHERE (price > 15.5)";

$result = $db­>query($sql);

Page 49: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão 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();

 }

Page 50: MySQL e phpMyAdmin - dca.fee.unicamp.brglaucya/ifsp/LPII/LPII - MySQL - phpMyAdmin... · Suporta o padrão SQL

50

Resultado da consultaResultado da consulta

SELET title, author

FROM books

WHERE (price > 15.5);