Depois de termos passado por vários artigos introdutórios ao PHP, e depois de lhe termos apresentado alguns artigos anteriores Como enviar Dados para o Browser com PHP, Como passar informação entre páginas em PHP (Parte I) e Como passar informação entre páginas em PHP (Parte II) vamos-lhe apresentar o artigo Trabalhando com Bancos de Dados em PHP (Parte II) onde iremos continuar a abordar o básico de manuseamento de bancos de dados, como manipular os dados, vários métodos para trabalhar e criar bancos de dados eficientemente e como utilizar os dados guardados nos bancos de dados. Se você se interessa por essa área, não pode perder este e os seguintes artigos onde iremos passo-a-passo ensiná-lo como manusear bancos de dados correctamente e eficientemente. Não perca também a primeira parte deste artigo, Trabalhando com Bancos de Dados em PHP (Parte I).

Os websites da era moderna são incrivelmente poderosos e munidos de funcionalidades que permitem que sejam flexiveis e autónomos, e muita dessa capacidade provém da utilização de bancos de dados onde são guardados dados para utilização posterior.

MySQL

Guardar informação permite aos desenvolvedores criar interacções personalizáveis entre as aplicações web e os seus utilizadores, indo desde básicos blogues até aplicações bancárias multi-funcionais que são uma gigantesca rede de ligações seguras entre bancos de dados e informações cruzadas pelo mundo inteiro. Está preparado para continuar?

Não perca os nossos conteúdos anteriores relacionados com PHP. Se está a iniciar na linguagem, recomendamos fortemente a leitura dos nossos artigos:

3. TIPOS DE DADOS EM MYSQL

MySQL tem suporte para vários tipos de dados, mas aqueles que provavelmente você mais utilizará são:

  1. INT – Valor inteiro
  2. FLOAT – Um valor numérico flutuante
  3. VARCHAR – Uma pequena string
  4. TEXT – Uma string grande que é manuseada como uma string de caracteres
  5. BLOB – blob vem de binary large object e é manuseada como uma string binária
  6. DATETIME – Uma data no formato AAAA-MM-DD HH:MM:SS

Tipos de dados MySQL

4. O QUE É UMA CHAVE PRIMÁRIA? (PRIMARY KEY)

Uma chave primária é um item identificador único a cada entrada em uma tabela, de forma a que seja possível identificar todas as entradas de uma tabela sem haver repetições. Então, uma coluna que seja a chave primária deve conter um valor que identifique cada entrada na tabela, e o mais fácil de utilizar é um identificador numérico. A utilização da chave primária é uma prática obrigatória, pois os dados de uma tabela seriam inúteis se você não soubesse como e onde ir buscar esses dados para apresentação.

5. O QUE É O AUTO_INCREMENT?

A utilização de uma chave primária é realmente útil e facilita imenso o trabalho de ir buscar os dados às tabelas, e como referimos anteriormente, a maneira mais fácil de utilizar uma chave primária é utilizando números. Então, imaginando que começamos no número 1, a entrada seguinte terá de ser o número 2. Como é que se faz essa adição automática? Através do AUTO_INCREMENT, que irá adicionar mais 1 valor ao valor anterior, desta forma você nunca terá uma entrada duplicada na chave primária, o que seria um desastre. Utilizando o AUTO_INCREMENT na chave primária, você está a assegurar que não irão haver entradas duplicadas e estará a salvaguardar o seu tempo e trabalho já investido, evitando dores de cabeças desnecessárias.

6. INDEXAÇÃO EM MYSQL

Quando se procuram dados numa tabela MySQL e dependendo do tamanho do banco de dados e da quantidade de queries que estão a ser executadas, essa procura poderia ser extremamente lenta. Imagine um grande website como a Mashable que tem imensas visitas e pesquisas nos seus conteúdos a toda a hora, se cada uma das queries tivesse que procurar todo o banco de dados pelos termos pesquisados, seria um enorme desastre, provavelmente acabaria por ter um crash e o website ficaria em baixo durante um determinado tempo.

Felizmente o MySQL fornece um método que permite aumentar a velocidade das queries, método esse que consiste na criação de uma ou mais colunas de indexação. Na tabela de artistas que criámos na primeira parte deste artigo, seria útil e inteligente utilizar o artist_id como coluna de indexação se fosse a chave primária. Como obviamente não será a chave primária, é possível utilizar esta funcionalidade do MySQL e definir a coluna artist_id como uma coluna de indexação. Para fazer isso, é necessário executar um ALTER á tabela de albums, definindo de seguida qual a coluna a utilizar como index:

ALTER TABLE albums ADD INDEX (artist_id)

MySQL

A correta utilização desta funcionalidade do MySQL pode aumentar drasticamente a velocidade do seu website, aumentando a velocidade de execução das queries ás tabelas do banco de dados. No entanto é necessário salientar que cada para cada index é criada uma nova coluna, e não utilizada a existente, que deverá ser actualizada cada vez que houver uma alteração an sua clone. Quer isto dizer que o processo de adição de conteúdo a uma coluna indexada irá demorar o dobro do tempo em termos teóricos do que uma coluna não indexada.

7. COMO INSERIR DADOS?

A inserção de dados em uma tabela mySQL é extremamente simples. O primeiro passo é obviamente ter as tabelas criadas de antemão, para que tenha onde inserir os dados. Então o primeiro passo que vamos dar é inserir dados na tabela de artistas, utilizando a seguinte declaração:

INSERT INTO artistas (artist_name) VALUES (“Skrillex”)

MySQL

Com esta declaração você está a dizer como irão ser processadas as coisas. O INSERT INTO informa que você está a adicionar dados, seguido pela definição em qual tabela (nesta caso é a tabela artistas) quer adicionar esses dados e , em que coluna (neste caso é a coluna artist_name) e finalmente quais os dados a adicionar. De seguida vamos adicionar os restantes artistas que temos como base de teste para este tutorial:

INSERT INTO artistas (artist_name) VALUES (“Michael Jackson”)

MySQL

INSERT INTO artistas (artist_name) VALUES (“Elton John”)

MySQL

Uma vez que já temos os artistas inseridos, resta-nos para já inserir os seus albums na tabela albums. Isto é feito utilizando o mesmo método INSERT que utilizámos acima, mas apontando 2 valores: o id do artista e o nome do album, para que possa ser feita uma associação entre o album e um artista. Para começar, vamos introduzir um dos albums de Skrillex na nossa tabela albums:

INSERT INTO albums (artist_id, album_name) VALUES (“1″, “Voltage”)

MySQL

Seguido de um álbum de Michael Jackson:

INSERT INTO albums (artist_id, album_name) VALUES (“2″, “This is It”)

MySQL

E por último um álbum de Elton John:

INSERT INTO albums (artist_id, album_name) VALUES (“3″, “The Union”)

MySQL

Na continuação deste artigo iremos abordar as declarações SELECT, UPDATE, JOIN e DELETE!

Abraço e até já!

 

Autor: Diogo Espinha

Blog do Autor | Artigos do Autor:

Workaholic e totalmente viciado em computadores, Internet e desporto motorizado. Adora praticar desporto, é um curioso da programação em PHP, CSS e HTML5 e não dispensa a companhia do seu Mac OSX 86 Snow Leopard!

  • Explorer - Factory Construction & Ship Building Joomla Theme
  • Justice - Attorney and Law Firm Joomla Template
  • OwnFolio - One Page Personal Portfolio / vCard / Resume / Showcase Joomla Template
  • Big Business - Responsive Template
  • Merab - Creative Multipurpose Drupal 8 Theme
  • Fitness Academy Joomla Template
  • Fruition - Business Joomla Template
  • Educate | Education & Courses, Kindergartens Joomla Template
  • Constructive - Contractors Multipurpose Joomla Landing Page Theme
  • Vina Bubox - VirtueMart Joomla Template for Online Stores
  • BizOne - One Page Parallax Drupal Theme
  • LawHouse - Responsive Lawyers Attorneys Joomla Template

Gostou deste artigo? Então torne-se fã do Blog no Facebook!



Comentários dos Alunos


  1. Fabio
    12 de abril de 2012

    Olá.

    Gostei muito do ARTIGO.Bem esclarecedor para quem está começando.Tem algum artigo que indica profissionais de PHP para trabalhos?

    Abraço



  2. Ícaro Leandro
    13 de abril de 2012

    Olá, parabéns pelo artigo, muito bem explicado, mas tem um problema:
    A partir da “7. COMO INSERIR DADOS?” o meu PHPMyAdmin acusava erro de sintáxe. E não consegui avançar…



    • Diogo Espinha
      2 de maio de 2012

      Olá Ícaro, o ponto 7 foi corrigido. Obrigado pelo reparo, abraço!



  3. Talysson
    20 de julho de 2012

    Muito bom o artigo ! Podiam fazer um sobre PostgreSQL também, pois, apesar das inserções e tudo masi serem bem parecidas, os tipos de dados são diferentes =)


RSS
Twitter
Facebook
Comentários
ASSINANTES
SEGUIDORES
FÃS
COMENTÁRIOS
7794

Subscrever Newsletter
Subscreva a Newsletter:



Aplicativos Android, iPhone e Muito Mais!




Assine a Escola Criatividade Assine a Newsletter da Escola Criatividade Escola Criatividade no Twitter Escola Criatividade no Facebook Escola Criatividade no Youtube Escola Criatividade no Google Buzz