Hoje vamos falar sobre o banco de dados MySQL que é o tipo do banco de dados que vamos utilizar na maioria das publicações.
Como já mostramos pra vocês como configurar um servidor apache em diversos sistemas operacionais (Windows, Linux e MacOS) com o PhpMyAdmin instalado. Basta você criar um banco de dados diretamente na interface.
Nessa primeira publicação vamos falar sobre como criar um banco e como utilizar ele no PHP.
Teremos mais 4 publicações falando de banco de dados MySQL.
1 – MySQL – Básico (Criação e utilização no PHP)
2 – MySQL – Intermediário (INNER JOIN, LEFT JOIN, RIGHT JOIN, GROUP BY, HAVING, UNION e Aliases)
3 – MySQL – Avançado (Relacionamentos de tabelas)
4 – MySQL – Backup (Realizar backup do banco de dados)
5 – MySQL – Segurança (Métodos de manter a segurança de informação)
Primeiro você acesse a seguinte página no seu navegador:
http://localhost/phpmyadmin/
Após realizar o login, podemos criar um banco de dados para começar o nosso tutorial:

Agora para criar uma tabela nessa banco de dados:

E adicionar os campos dessa tabela:

Detalhe que apenas o primeiro item, que no caso é a ID, você vai colocar como A_I (Auto Incremento), ou seja, quando você salvar dados nessa tabela, vai salvar os registros em forma ordenada (1,2,3,4,..). E também vamos selecionar o índice dele como PRIMARY KEY.
Vamos começar o tutorial com a parte mais importante, os códigos que vamos utilizar em nossos projetos.
Vamos utilizar o código em PHP.
Iniciando nosso código PHP, pela conexão ao banco:
<?php
$conexao = mysql_connect("localhost", "usuario", "senha") or die("Erro ao tentar se conectar!");
?>
Agora vamos selecionar o banco de dados que vamos utilizar no projeto:
<?php
$banco = mysql_select_db("banco", $conexao) or die("Erro ao selecionar o banco!");
?>
Pronto, com esses dois comandos você pode executar comandos como INSERT, UPDATE, DELETE, CREATE e SELECT.
Você precisa criar alguma tabela nova com campos:
<?php
$comando = "CREATE TABLE `tabela1` (`id` INT AUTO_INCREMENT PRIMARY KEY, `nome` VARCHAR(255), `cidade` VARCHAR(255))";
mysql_query($comando , $conexao);
?>
Pronto, nossa tabela ‘tabela1’ foi criada com os campos ‘id’, ‘nome’, ‘cidade’. é interessante quando você utilizar algum comando SQL, sempre usar esta aspa ` para campos e tabelas e essa aspa ‘ quando é alguma variavel que você vai consultar, alterar ou incluir no banco.
Falando um pouco do tipo de valores númericos:
BIT, TINYINT, SMALLINT, INT, MEDIUMINT, BIGINT, FLOAT, DOUBLE e DECIMAL
Tipos de valores de data:
DATE, TIME, DATETIME, TIMESTAMP e YEAR
Tipos de dados string:
CHAR, TEXT, VARCHAR, ENUM, SET, LONGTEXT, LONGBLOB, MEDIUMTEXT, MEDIUMBLOB, BLOB, TINYTEXT, TINYBLOB e NATIONAL
Voltando para os comandos..
Para alterar o tipo de um campo de uma tabela, usamos o comando:
<?php
$comando = "alter table `tabela1` modify `cidade` char(40)";
mysql_query($comando , $conexao);
?>
Para adicionar um novo campo a uma tabela:
<?php
$comando = "alter table `tabela1` add `pais` varchar(255)";
mysql_query($comando , $conexao);
?>
Para remover uma tabela, usamos o comando:
<?php
$comando = "drop table `tabela1`";
mysql_query($comando , $conexao);
?>
É interessante também falar dos operadores lógicos e de comparação nas consultas:
Operadores lógicos: and, or e not
Operadores de comparação: >, >=, <, <=, = , != (ou <>)
Temos como exemplo de operador lógico e também de comparação:
<?php
$comando = "SELECT * FROM `tabela1` WHERE `nome` = 'Rodrigo' AND `nome` = 'Julio'";
mysql_query($comando , $conexao);
?>
Vamos falar de mais alguns recursos nas consultas:
DISTINCT é uma cláusula usada para remover duplicações de linhas no resultado da consulta.
<?php
$comando = "SELECT DISTINCT(cidade) FROM `tabela1`";
mysql_query($comando , $conexao);
?>
Temos também o ORDER, para ordenar da forma que bem entendemos uma consulta, podendo utilizar ainda o ASC (crescente) e o DESC (decrescente):
<?php
$comando = "SELECT * FROM `tabela1` ORDER BY id ASC";
mysql_query($comando , $conexao);
?>
Para saber alguns números referente as tabelas, temos:
COUNT – Contador de ocorrências
<?php
$comando = "SELECT COUNT(cidade) FROM `tabela1`";
mysql_query($comando , $conexao);
?>
SUM – Somador de valores de atributos numéricos
<?php
$comando = "SELECT SUM(idade) FROM `tabela1`";
mysql_query($comando , $conexao);
?>
MAX / MIN – Maior / Menos valore de um atributo
<?php
$comando = "SELECT max(id) FROM `tabela1`";
mysql_query($comando , $conexao);
?>
Voltando um pouco para as principais consultas e comandos do MySQL..
Vamos inserir um registro na tabela com o INSERT:
<?php
$comando = "INSERT INTO `exemplo` (`nome`,`email`) VALUES ('Rodrigo','rodrigo@teste.com.br')";
mysql_query($comando , $conexao);
?>
Vamos alterar esse registro com o UPDATE:
<?php
$comando = "UPDATE `clientes` SET `nome_cliente` = 'teste2' WHERE `id_cliente` = '1'";
mysql_query($comando , $conexao);
?>
Vamos deletar esse registro com o comando DELETE:
<?php
$comando = "DELETE FROM `clientes` WHERE `id_cliente` = '1'";
mysql_query($comando , $conexao);
?>
Caso você precise apenas resetar a tabela, ou seja, apagar os registros sem precisar deletar a tabela inteira para refazer:
<?php
$comando = "TRUNCATE TABLE `clientes`";
mysql_query($comando , $conexao);
?>
Agora vamos fazer uma seleção em registros de uma tabela com o comanso SELECT:
Você pode selecionar todos os campos de uma tabela, assim:
<?php
$comando = "SELECT * FROM `exemplo` WHERE `nome` = 'Teste'";
mysql_query($comando , $conexao);
?>
Como também pode selecionar determinados campos de uma tabela:
<?php
$comando = "SELECT `nome`,`cidade` FROM `exemplo` WHERE `nome` = 'Teste'";
mysql_query($comando , $conexao);
?>
Caso você precisa buscar por uma palavra no começo do campo:
<?php
$comando = "SELECT `nome`,`cidade` FROM `exemplo` WHERE `nome` LIKE 'a%'";
mysql_query($comando , $conexao);
?>
Caso você precisa buscar por uma palavra no final do campo:
<?php
$comando = "SELECT `nome`,`cidade` FROM `exemplo` WHERE `nome` LIKE '%a'";
mysql_query($comando , $conexao);
?>
Caso você precise buscar por uma palavra no meio do campo:
<?php
$comando = "SELECT `nome`,`cidade` FROM `exemplo` WHERE `nome` LIKE '%a%'";
mysql_query($comando , $conexao);
?>
Se você precisar saber a quantidade de registros que tem uma determinada tabela:
<?php
$comando = "SELECT `nome`,`cidade` FROM `exemplo` WHERE `nome` = 'Teste'";
$consulta = mysql_query($comando , $conexao);
$numeroRegistros = mysql_num_rows($consulta, $conexao);
?>
Para utilizar os resultados e armazenar em variáveis:
<?php
$comando = "SELECT `nome`,`cidade` FROM `exemplo` WHERE `nome` = 'Teste'";
$consulta = mysql_query($comando , $conexao);
$row = mysql_fetch_row($consulta);
$nome = $row[0];
$cidade= $row[1];
?>
Para utilizar os resultados em um bloco de repetição:
<?php
$comando = "SELECT `nome`,`cidade` FROM `exemplo` WHERE `nome` = 'Teste'";
$consulta = mysql_query($comando , $conexao);
while ($row = mysql_fetch_array($consulta )) {
echo $row['nome']."
";
}
?>
E para finalizar é importante sempre fechar a conexão:
<?php
mysql_close($con);
?>
Bom, por hoje é só.
Nos próximos posts vamos aprender mais técnicas de utilização dos comandos do MySQL.
Espero que tenha sido útil e fique a vontade para comentar, dar sugestões e até críticas.
Abraço.
Adicional – Atualizado 17/11/2014:
Selecionando dados entre um período de dados:
<?php
$comando = "SELECT `nome`,`idade` FROM `cliente` WHERE `idade` BETWEEN '15' AND '25'";
mysql_query($comando , $conexao);
?>
Banco de dados, MySQL, php, SQL