MySQL 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 2
phpadmin 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 3
phpmyadmin 4
phpmyadmin 5
Classe 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 6
Classe 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 7
Classe 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() 8
Classe 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 9
Classe MySQLi Conexão com o banco de dado construct(string $host, string $username, string $passwd, string $dbname, string $port, string $socket); Exemplo $db = new mysqli($host,$username,$passwd); 10
<?php Conexão com o banco de dado $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"; } 11
<?php Conexão com o banco de dado $host = "localhost"; $passwd = ""; $username = "root"; $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"; } 12
Classe MySQLi Fechar uma conexão aberta anteriormente com o banco de dados Método bool close ( void ); Exemplo $db->close(); 13
<?php Conexão com o banco de dado $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(); }?> 14
Classe MySQLi Selecionar uma base de dados bool select_db(string $dbname); Exemplo $db->select_db("books"); 15
<?php Conexão com o banco de dado $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(); 16
Classe MySQLi Realizar uma consulta na base de dados mixed query(string $query) Exemplo $db->query("select author FROM books"); 17
Criação da base de dados SQL CREATE DATABASE dbname; PHP $sql = "CREATE DATABASE ".$dbname; $db->query($sql); 18
<?php Criação da base de dados $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();?> 19
Criação da base de dados 20
Deletar uma base de dados SQL DROP DATABASE dbname; PHP $sql = "DROP DATABASE ".$dbname; $db->query($sql); 21
Deletar Base de Dados $dbname = "books"; $sql = "DROP DATABASE ".$dbname; if($db->query($sql)){ } echo "Base de dados deletada com sucesso"; 22
Criação de tabelas SQL CREATE TABLE nome_tabela( nome_coluna1 tipo_de_dado(size), nome_coluna2 tipo_de_dado(size), nome_coluna3 tipo_de_dado(size), ); 23
Tabela Books create table books( isbn char(13) not null primary key, author char(30), title char(60), price float(4,2) ); 24
Criação de tabela PHP Exemplo $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); 25
<?php Criação de tabelas $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();?> 26
Criação de tabelas 27
Inserção de dados INSERT INTO nome_tabela VALUES ( ); Exemplo valor1, valor2, valor3, INSERT INTO books VALUES ('8535911693 ', 'Jorge Amado', 'Capitães da Areia', 30.80); 28
Inserçã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."; 29
Inserção de dados 30
Inserçã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 ); 31
Inserçã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."; 32
Inserção de dados 33
Insere 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> 34
insert_book.php <?php echo 'Livraria'; $isbn $author $title $price = $_POST['isbn']; = $_POST['author']; = $_POST['title']; = $_POST['price']; if (!$isbn!$author!$title!$price){ echo 'Você não enviou todos os dados necessários.'; exit; } $price = doubleval($price); //... 35
insert_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(); 36
Inserção de dados 37
Consulta SELECT coluna1, coluna2, FROM nome_tabela; Exemplos SELECT title, author FROM books; 38
Consulta $sql = "SELECT title, author FROM books"; $result = $db->query($sql); 39
Consulta $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(); 40
Resultado da consulta SELECT title, author FROM books; 41
Consulta SELECT * FROM nome_tabela; Exemplos SELECT * FROM books; 42
Consulta $sql = "SELECT * FROM books"; $result = $db->query($sql); 43
Consulta $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(); 44
Resultado da consulta SELECT * FROM books; 45
Cláusula where SELECT coluna1, coluna2, FROM nome_tabela WHERE coluna operador valor; Exemplos SELECT title, author FROM books WHERE (price > 15.5); 46
Cláusula where 47
Consulta $sql = "SELET title, author FROM books WHERE (price > 15.5)"; $result = $db->query($sql); 48
Consulta $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(); 49
Resultado da consulta SELET title, author FROM books WHERE (price > 15.5); 50