Mini Curso PHP
- 11/09/2008
Mini curso de PHP (Parte 11 II) – Mysql
Ola pessoal, tarda mas o post não falha! Hehe
Bom, neste post, vou dar uma introdução ao Mysql. Vou explicar apenas como utilizá-lo em uma aplicação PHP e como utilizar o PhpMyAdmin (saiba mais aqui e aqui).
Como você deve ter acompanhado no ultimo post, estamos vendo alguns conceitos antes de começar a fazer nosso sistema de noticias. No post anterior, vimos sobre INCLUDES. Caso você não o leu, por favor Clique Aqui.
Vamos ao que interessa: Mysql é um gerenciador de banco de dados. Um banco de dados é, a grosso modo, um armazenador e organizador de informações. Estas informações são armazenadas em TABELAS e organizadas por CAMPOS. Um banco de dados precisa de um gerenciador (SGBD), é exatamente aqui que entra o Mysql (como falei no inicio deste parágrafo).
Vou dar um exemplo de como é mais ou menos a estrutura de um banco de dados. Você lembra quando trabalhamos com ARRAY? Tínhamos um array que armazenava dados de uma pessoa. Este array guardava: nome, email, cidade, blog e conhecimentos.
Vamos transpor a idéia do array para uma tabela. Então para armazenar informações de pessoas, teríamos que criar uma TABELA, neste caso poderíamos chamá-la de ‘pessoas’. Agora as informações que esta tabela vai armazenar precisam estar organizadas por CAMPOS. Que seriam exatamente os dados que gostaríamos de guardar: nome, email, cidade, blog e conhecimentos.
Até aqui ficou claro certo? Banco de dados é um lugar para armazenar informações que são organizadas por tabelas e campos.
Em sistemas web, na maioria das vezes, quando precisamos executar operações no Mysql, utilizamos um recurso muito bacana que se chama PhpMyAdmin. PhpMyAdmin é um sistema feito em PHP que administra o Mysql. Então para criar banco de dados, tabelas, campos, e ouras coisas SEMPRE (aqui no mini-curso) vamos utilizar o PhpMyAdmin. Vou supor que você instalou o WAMP para fazer este curso. O WAMP já deixa o PhpMyAdmin instalado e funcionando na sua máquina. Para acessar o PhpMyAdmin entre no seguinte endereço:
http://localhost/phpmyadmin/
Você verá algo parecido com a imagem abaixo:
Imagine o seguinte, você quer guardar documentos muito importantes no seu banco. Então, para isto, o banco disponibiliza um cofre(1). Neste cofre, eles precisam guardar documentos ou o que quer que seja de N clientes, então eles separam por gavetas(2), uma para cada cliente é claro. Nestas gavetas, pode-se guardar qualquer coisa(3)… Desde documentos, jóias, dinheiro e o que mais lhe passar pela cabeça.
Então tem três etapas:
- Cofre
- Gaveta
- Informações
O Mysql funciona da mesma forma, são três etapas para seus dados serem guardados. Você precisa saber em que lugar(1) seus dados vão ficar guardados, qual é a ‘gaveta’ (chamaremos de DataBase(2)) deverá ser usada e por fim, as informações(3).
- Lugar: Será nosso HOST. Este é um endereço no qual nossa aplicação (site, sistema..) irá conectar.
- DataBase: O cofre é o mesmo para N cliente certo? Então o banco de dados é o mesmo para N DataBases, imagine que em seu computador você esta rodando 5 sites de clientes seus e ambos precisam usar o Mysql. Através do nome do DataBase que você vai conseguir distinguir cada um. Funciona como as gavetas no cobre… cada cliente tem a sua e guarda o que quiser.
- Informações: Aqui, como no cofre, você vai guardar o que quiser. Por exemplo, seu site tem noticias, usuários, downloads e uma lista de links de parceiros. Você vai ter em sua DataBase as tabelas: noticias, usuários e downloads.
Isso tudo ficou claro? Ao iniciarmos uma aplicação (site, sistema..) sempre temos que criar um DataBase e em seguida inserir as tabelas.
Nosso sistema de noticias não será diferente. Criaremos uma Database e criaremos a tabela ‘noticias’. Quando formos acessar estes dados, o PHP fará mais ou menos isso: Conecte em ‘localhost’ (HOST), agora abra a DataBase ‘sistema_noticias’ (ou um nome qualquer relacionado ao site). Depois que o site chegou neste ponto, fica muito fácil fazer qualquer coisa. Por exemplo pedir para listar todas as informações da tabela de ‘noticias’ (Olhar determinada informação que esta dentro da gaveta).
BOM CHEGA DE TEORIAAAAAAAAAAA!!!!!!!!!!!!
Vamos praticar um pouco, abra novamente o PhpMyAdmin. Note que no topo, ele esta mostrando qual é o HOST. Então vamos aprender a criar o DATABASE e criar as TABELAS.
Na principal do PhpMyAdmin, tem uma opção chamada “Criar novo Bando de Dados”. Neste campo, informe o nome do DataBase, como sugeri no parágrafo anterior, podemos usar ‘sistema_noticias’, após digitar, clique em “Criar”. Não mude a configuracao de ‘Collation’. Veja a imagem abaixo:
Após a criação do DataBase, perceba que ela ficará selecionada ao lado esquerdo da tela e ao lado direito será exibida a seguinte mensagem: “Banco de Dados sistema_noticias foi criado”.
Agora precisamos criar as tabelas. Como definimos no escopo do projeto, teremos as seguintes tabelas: usuarios, categorias e noticias
Vou explicar como criar a tabela de “usuario”. Pois vamos criar o restante das tabelas na medida que vamos desenvolvedo. Vamos criar a tabela, e por enquanto, não vamos inserir dado nenhum.
Como eu falei, uma tabela é organizada por CAMPOS. Os campos são exatamente os informações que a tabela irá armazenar. Por exemplo, nossa tabela de usuarios tem que armazenar: Nome, e-mail, usuário, senha e data do cadastro.
Mas, não é tão simples especificar os campos, pois para cada tipo de dado, há um tipo de campo apropriado. Veja a tabelinha abaixo:
|
Tipo de dado |
Tipo do campo |
Observações |
|
Textos pequenos |
VARCHAR |
É necessário especificar um tamanho para o campo. O tamanho é em caracteres. Este tipo de campo comporta até 255 caracteres. |
|
Textos grandes |
LONGTEXT |
Suportam ate 4GB de caracteres. |
|
Números inteiros |
INT |
Armazena apenas números inteiros. Se não especificar tamanho, ele será padrão com 11 caracteres. |
|
Datas |
DATE |
Armazenam datas o formato yyyy-mm-dd |
|
Data e hora |
DATETIME |
Armazenam no seguinte formato: yyyy-mm-dd hh:mm:ss |
Digamos que estes tipos de campos são os mais usados. Para saber mais sobre os tipos de campos clique aqui e veja diretamente na documentação do Mysql.
Toda tabela, para ficar organizada, precisa de um campo que guarde o código do registro(cadastro). Normalmente definimos este campo com o nome de ‘ID’. Este campo será numérico(INT).
Nossa tabela usuarios ficará com a seguinte estrutura:
- id: INT
- nome: VARCHAR(50) – com tamanho de 50 caracteres
- email: VARCHAR (50)
- usuario: VARCHAR(12)
- senha: VARCHAR(12)
- data_cadastro: DATETIME
* nomes de campos não podem ter acentos, espaços, começar com números.
Outra coisa importante é que ao criar o campo ID, vamos defini-lo como AUTOINCREMENT e como CHAVE PRIMÁRIA. Isso vai fazer com que este código nunca se repita e a cada novo registro no banco de dados ele incremente automaticamente. Este ID vai servir apenas com um código para ser usado nas operações no Mysql, o usuário não precisa saber qual é seu código.
Na tela que carregou após criar o DabaBase (caso tenha fechado, selecione o DataBase no combobox ao lado direito), vá ate a opção “Criar nova tabela no Banco de Dados sistema_noticias
- Digite o nome da tabela: “usuarios”
- O numero de índices é o numero de campos que a tabela vai ter, no nosso caso é 6 (tem que contar o ID)
- Clique em executar
Agora ele criou um formulário com todas as opções para criar nossa tabela. Cadastre os campos na seguinte ordem: id, nome, email, usuário, senha, cata_cadastro e informe os tipos de campo correspondente.
Veja a imagem abaixo:
Viram? Não tem muito segredo em trabalhar com Mysql. Usando o PhpMyAdmin fica muito fácil. Agora clique em Salvar.
Perceba que ele vai exibir uma mensagem de sucesso e irá mostrar o código SQL que criou a tabela. Se não usássemos o PhpMyAdmin, teríamos que fazer ele na unha heheheheheheh
Ao lado esquerdo da tela você poderá ver a tabela que acabamos de criar.
Se você quiser brincar um pouco, no menu superior clique em ‘inserir’ e tente inserir alguns registros, depois apague-os. Apenas para ver com funciona. No próximo post vou explicar com acessar este banco de dados pelo PHP.
Se ficou duvida, ou expliquei mal, ou falei algo errado por favor poste. Um grande abraço!!






12 Comentários to “Mini curso de PHP (Parte 11 II) – Mysql”
Fino o tutorial marcelo!
Comecei já e acabarei no fds
abraço
Por Diego Gomes (10 comments) em 12/09/2008
Horra chique esse tudo em cara.. quando se sabe insinar de maneira clara e com boa intenção tudo fica mais facíl, meus parabêns
Por Darcio (1 comments) em 16/09/2008
Que bom que gostou Darcio.
Tento passar as coisas de forma clara e objetiva. Se tiver alguma sugestão para melhorar é só postar kra.
Um grande abraço!
Por Marcelo Sabadini (109 comments) em 16/09/2008
Olá… ótimo tutorial… mas como eu vejos os posts desde o início ?? para acompanhar melhor a idéia…
obrigado ….
Por Marcelo Cuin (1 comments) em 10/10/2008
Ola meu caro tudo bom?
Q bom que gostou do meu blog. No menu superior tem a opção ‘Mini Curso’. Ai vc pode navegar nesta categoria e ver todos os posts.
Ou acesse esse link: http://marcelosabadini.com.br/blog/category/mini-curso-php/page/3/
Kra.. qualquer dúvida só postar!
Um grande abraço!
Por Marcelo Sabadini (109 comments) em 10/10/2008
Ola Marcelo,
Onde eu consigo o PHPAdmin? Tem alguma dica..
Muito bom seu Mini-curso
Por Andre (3 comments) em 10/11/2008
Ola André tudo bom?
Vc pode fazer o download dele aqui: http://www.phpmyadmin.net/home_page/downloads.php
Por Marcelo Sabadini (109 comments) em 10/11/2008
Pessoal, estou iniciando com php e mysql e gostaria de treinar num exemplo simples, mas um pouco mais próximo de aplicações reais em que hajam exemplos com campos de data, valores em R$, cálculos de média, etc. Alguém saberia me indicar algum tutorial para esse tipo de db ? Obrigado !
Por Ricardo (1 comments) em 14/11/2008
Ola Ricardo,
De cabeça nao sei te falar um tutorial q aborte tudo isso.
Mas neste minicurso vamos trabalhar com datas fazendo o cadastro de noticias. E aprender a buscar noticias em um determinado periodo de tempo e tals…
Mas te dou uma dica: pra trabalhar com valores vc usa o tipo float.
Abraços!
Por Marcelo Sabadini (109 comments) em 14/11/2008
Olá! vi algumas video aulas sua e achei interessante, Tenho um problema ve se consegue resolver, eu fiz um site de vendas de auto e preciso que ele envia o e-mail de mais informações do veiculo com a infromação do veiculo ok, até ai tudo bem só que eu tenho 10 tabelas no banco de dados e precisa criar ema página de e-mail para cada tipo de veiculo para que possa enviar o e-mail com os dados do veiculo, se pode ajudar como criar um banco de dados eu agradeço ok.
Um Abraço
Pereira
Por Aniso Pereira da Silva (1 comments) em 25/01/2009
Olá! Sr, Marcelo Sabadini, Recebeu o arquivo do banco de dados em anexo que enviei. tem alguma solução para meu problema. se está lembrado, Preciso criar formulário de email para cada marca de veiculo.
Aguardo Resposta
Obrigado
Pereira
Por Anisio Pereira (1 comments) em 30/01/2009