•
Conjunto de informações relacionadas entre si;
•
Armazenamento organizado facilitando SCRUD;
•
Agiliza processo de desenvolvimento de sistemas;
•
Conjunto de Tabelas onde cada linha é um vetor de dados
específico;
•
Sistema Gerenciador de Bancos de Dados (SGBD);
•
Servidor multitarefa, multiusuário, rápido, confiável e fácil de usar;
•
Conectividade, velocidade e segurança (bom para Web);
•
Funciona a base da linguagem padrão SQL;
•
Open Source, assim como o PHP;
•
Suporta uma ampla variedade de tipos de dados;
•
Linguagem para manipulação de dados em Bancos de Dados;
•
Linguagem com simplicidade e facilidade de uso;
•
Uma consulta SQL especifica a forma do resultado (consulta);
•
Possui uma série de comandos específicos para manipulação;
Manipulação de bancos:
•
CREATE DATABASE <nome_banco>  Cria banco de dados;
mysql> CREATE DATABASE my_first_database;
•
DROP DATABASE <nome_banco>  Apaga banco de dados;
mysql> DROP DATABASE my_first_database;
Manipulação de tabelas:
•
CREATE TABLE <nome_tabela> (<col1> tipo, <col2> tipo ... )
 Cria tabela;
mysql> CREATE TABLE usuarios (
id UNSIGNED INT(10),
nome VARCHAR(50),
email VARCHAR(50),
PRIMARY KEY (id));
Manipulação de tabelas:
•
ALTER TABLE <nome_tabela> ADD/DROP (<col1> tipo, ... );
 Altera propriedades da tabela (adicionar colunas...);
mysql> ALTER TABLE usuarios ADD (
senha VARCHAR(25));
•
DROP TABLE <nome_tabela>  Apaga uma tabela.
mysql> DROP TABLE usuarios;
Manipulação de linhas:
•
INSERT INTO <nome_tabela> (<col1>, <col2>, ... )
VALUES ( <expressao1> , <expressao2> ...);
mysql> INSERT INTO usuarios (nome, email)
VALUES (‘João’, ‘[email protected]’);
•
UPDATE <nome_tabela> SET (<col1> = <exp1> , <col2> = <exp2>)
WHERE condições;
mysql> UPDATE usuarios SET recEmail = 1
WHERE recEmail=0;
Manipulação de linhas:
•
DELETE FROM <nome_tabela> WHERE condições;
mysql> DELETE FROM usuarios WHERE
sexo = ‘m’ && recEmail = 0;
Manipulação de linhas (pesquisa):
•
SELECT (<col1>, <col2>, <col3> , ...)
[ * ]  “all”
FROM <tabela>
WHERE condições
(opcional)
ORDER BY <coluna> ASC/DESC
(opcional)
LIMIT <n_registros>
(opcional)
OFFSET <a_partir_de>
(opcional)
mysql> SELECT * FROM usuarios;
// retorna todos registros da tabela.
mysql> SELECT * FROM usuarios
WHERE name=‘João’;
mysql> SELECT (nome, email) FROM usuarios
WHERE recEmail = 1
ORDER BY nome ASC;
mysql> SELECT * FROM usuarios
WHERE nome LIKE ‘João’;
// João Pedro, João Antônio ....
•
PHP fornece todo suporte ao uso do MySQL;
•
Vamos passar aqui os comandos principais (não todos);
•
mysql_connect();  Inicia conexão com servidor MySQL;
•
Indispensável antes de qualquer operação com banco de dados;
•
Sintaxe:
•
mysql_connect( <host> , <loginname> , <password> );
 Host: nome do computador que possui o servidor (ou IP);
 Login: nome do usuário do banco de dados;
 Password: senha do usuário;
$conexao = mysql_connect(“localhost”, “root”, “123456”);
$conexao = mysql_connect(“gabriela”, “php”, “password”);
•
mysql_close()  fecha conexão;
•
mysql_select_db();  Seleciona um banco de dados;
•
É necessário especificar em qual banco de dados trabalhar;
•
Sintaxe:
•
mysql_select_db( <nome_db> , <conexao> );
 Nome_db: Nome do banco de dados;
 Conexao: Identificador da conexão (mysql_connect);
$banco = mysql_select_db(“sistema”, $conexao);
$banco2 = mysql_select_db(“bancotestes”, $conexao);
•
mysql_query();  Envia um comando SQL para o servidor;
•
Sintaxe:
•
mysql_query( <SQL> , <banco> );
 SQL: String contendo o comando SQL
 Banco: Identificador do banco (mysql_select_db);
$SQL = “DROP TABLE usuarios”;
$query = mysql_query($SQL , $banco);
•
mysql_num_rows();  Retorna o numero de linhas de uma SQL;
•
Sintaxe:
•
mysql_query( <query>);
 Query: Identificador da query (msql_query);
$SQL = “SELECT * FROM usuarios”;
$query = mysql_query($SQL , $banco);
$num_registros = mysql_num_rows($query);
•
mysql_fetch_array();  Retorna array contendo resultado da SQL;
•
Sintaxe:
•
mysql_fetch_array( <query>);
 Query: Identificador da query (msql_query);
$SQL = “SELECT * FROM usuarios”;
$query = mysql_query($SQL , $banco);
$num_registros = mysql_num_rows($query);
If($num_registros)
$resultados = mysql_fetch_array($query);
•
Outras funções interessantes:
•
mysql_affected_rows  retorna numero de mudanças na ultima sql
•
mysql_change_user  muda o usuario logado
•
mysql_create_db  cria novo banco
•
mysql_error  retorna o erro ocorrido na última sql
•
mysql_free_result  flush na sql
•
mysql_ping  pinga server ou reconecta caso caia a conexão
•
mysql_stat  retorna status da conexão
•
mysql_num_fields retorna número de campos do resultado
•
E muito mais em php.net 
•
Interface desenvolvida em PHP para uso facilitado do banco de dados
MySQL
•
Intuitivo e amigável;
•
Usuários que ainda estão aprendendo SQL podem criar suas tabelas e
bancos por lá, verificar comandos SQL, exportar/importar bancos...
•
Verificar usuários do banco e permissões;
Download

Aula 5 - Ufrgs