Tutorial: O Pplware ensina a trabalhar com o MySQL (Parte III)

19 Comentários

O MySQL é muito provavelmente o sistema de gestão de base de dados (SGBD) mais usado em todo o mundo estando disponível em várias versões e para diferentes sistemas operativos. Tudo o que é plataformas open source como é o caso do wordpress, Joomla ou Drupal, recorrem ao MySQL como base de dados.

Hoje vamos aprender como criar uma simples base de dados para irmos treinando alguns comandos.

mysql_00


Vamos então considerar que vamos criar uma base de base simples, com o nome dbSmartphones e que servirá para registar smartphones. De referir que a base de dados não está normalizada (isso vamos tentar apresentar em próximos tutoriais).

Aceder ao MySQL

Para aceder ao MySQL, devem usar via linha de comandos/terminal e inserir o seguinte comando:

mysql -u root

Criar base de dados

Para criar a base de dados com o nome dbSmartphones devem usar o comando

mysql> CREATE DATABASE dbSmartphones;

Query OK, 1 row affected (0.00 sec)

Usar a base de dados criada

mysql> use dbSmartphones;

Database changed

Criar tabela smartphone

CREATE TABLE `smartphone`(
`id_smartphone` INT NOT NULL AUTO_INCREMENT,
`marca` VARCHAR(50) NOT NULL,
`modelo` VARCHAR(50) NOT NULL,
`cor` VARCHAR(50) NOT NULL,
PRIMARY KEY (`id_smartphone`))
ENGINE = InnoDB DEFAULT CHARSET = latin1;

Usando o comando desc smartphone devem ver a seguinte estrutura da tabela;

desc

Agora que já temos a estrutura criada vamos introduzir alguns dados usando o comando INSERT.

Introduzir dados na tabela

INSERT INTO smartphone (`marca`, `modelo`, `cor`) VALUES
("Apple","iPhone 6s plus","preto"),
("Samsung","Galaxy 6","branco"),
("Samsung","Galaxy 5","preto"),
("Huawei","P7","preto"),
("BQ","M5","branco"),
("BQ","E5","preto");

Ver todos os valores da tabela

mysql> select * from smartphone;

mysql_11

Quais os smartphones de cor preta?

mysql> select * from smartphone where cor = "preto";

mysql_12

Apresentar os resultados com a marca por ordem alfabética crescente?

mysql> select * from smartphone ORDER BY marca;

mysql_13

E por hoje é tudo. Deixamos agora um desafio aos mais experientes que deixem algumas queries, para esta tabela, para os iniciantes no SQL experimentarem.

Partilhar:
Tags:

Comentários

19

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de miguel
    miguel

    O que é??
    PRIMARY KEY,
    INT NOT NULL AUTO_INCREMENT,
    VARCHAR(50) NOT NULL,
    O que sao chaves estrangeiras??
    como se interligam as tabelas na base de dados?n-m/1-n/com ou sem participação obrigatoria.
    O que pode ou não pode ser uma chave primaria..
    A sintax do my SQL…

    Muito fraco, eu ja vii as 3 partes do tutoriais, e digo se eu não soubesse nada de my SQL ia estar a apanhar bananas.(sinceramente ninguém aprende nada com estas explicações ). Querem a minha sebenta de MY SQL??

    1. Avatar de Pedro Pinto

      Foste apanhado!!!! Não leste o que eu escrevi. “…base de dados não está normalizada (isso vamos tentar apresentar em próximos tutoriais).”
      Mas agora fiquei na duvida, tens uma sebenta MySQL e mesmo assim não sabes nada?…

  2. Avatar de José Carlos Ferreira
    José Carlos Ferreira

    Falta o passo inicial… Instalação e configurações, se é que são necessárias!

    1. Avatar de Pedro Simões

      É por isso que se chama uma rubrica. São vários artigos, dedicados ao mesmo tema e que explicam todos os processos passo a passo.

      Tens de ler os artigos anteriores para veres que esses temas foram já tratados:
      https://pplware.sitedev.pt/tutoriais/tutorial-o-pplware-ensina-a-trabalhar-com-o-mysql-parte-i/
      https://pplware.sitedev.pt/tutoriais/tutorial-o-pplware-ensina-a-trabalhar-com-o-mysql-parte-ii/

      1. Avatar de miguel
        miguel

        passo a passo? isso é para esquecer, ja vii muitas rubricas aqui, e muito poucas chegai a perceber ou como trabalhar no programa.
        Tem de pensar que estes tutoriais tem de ser para pessoas que não percebem um chavo da matéria, porque quem percebe da matéria não vai tirar assim tanto proveito.
        Mas é apenas a minha opinião.
        Mas pronto, é uma boa iniciativa, e acho que fazem muito bem, tem é de melhorar um bocadinho a meu ver isso.

        1. Avatar de Pedro Pinto

          Boas Miguel,

          Não é esse normalmente o feedback que temos, por norma o pessoal aprende sempre alguma coisa por aqui…tens de ver o que se passa 🙂
          Quanto ao resto nem sei bem o que te diga…se tens alguma dúvida pergunta que eu (e outros leitores) terão certamente todo o gosto em te ajudar. Não é preciso fazer birras 🙂

  3. Avatar de Johnny
    Johnny

    Sugiro um artigo para o pplware fazer, não tem nada a ver com a rubrica de aprender a mexer no mysql, já alguma vez vos deu na cabeça para fazerem um artigo a cerca de MySQL Tuning? ou seja poupar recursos e acelerar o MySQL?

    Seria otimo ver um artigo vosso..

    Tambem sugiro outros artigos caso desejem fazer uma rubrica..

    MySQL Tuning
    Apache Tuning
    Nginx Tuning
    Kernel Hardening
    Php Hardening

    Etc.. fico a espera 😉

  4. Avatar de Pereira
    Pereira

    Retornar equipamentos da cor preto:
    SELECT * FROM smartphone WHERE cor = “preto”;
    Agrupar equipamentos:
    SELECT * FROM smartphone GROUP BY marca;
    Quantidade de equipamentos por marca:
    SELECT count(*),marca FROM smartphone group by marca

  5. Avatar de Ze
    Ze

    Mais valia ensiar PostgreSQL porque é mais melhor bom!

    1. Avatar de Pedro Pinto

      Sem duvida, mais poderoso mas também mais completo! Vamos começar pelo mais simples. Também já falamos de PostgreSQL no Pplware (nunca exploramos até porque o mercado é diferente).

  6. Avatar de Tiburscyo
    Tiburscyo

    Pedro, muito obrigado pelo tutorial. Preciso aprender um pouco de mysql e seus tutoriais até agora são muito bem feitos e explicativos.

  7. Avatar de Manuel Silva
    Manuel Silva

    Parabéns… Gostei do artigo pela objectividade e pela simplicidade! É sempre bom ver “howto’s” feitos pela Pplware.

    Não esquecer os índices nos artigos futuros! Fazem muita diferença em BD grandes…

  8. Avatar de Carlos
    Carlos

    Selecionar os smartphones onde a marca começa pela letra A e não sejam de cor branca?

    SELECT * FROM smartphone WHERE marca LIKE ‘A%’ AND cor “branco”;

    1. Avatar de Carlos
      Carlos

      Ups… Esqueci-me do not equal

      SELECT * FROM smartphone WHERE marca LIKE ‘A%’ AND cor “branco”;

    2. Avatar de Carlos
      Carlos

      Quer dizer, não me esqueci nada, simplesmente não aceite no comentário… Eu tinha usado o menor e maior, vamos ver se exclamação e igual, é aceite:

      SELECT * FROM smartphone WHERE marca LIKE ‘A%’ AND cor != “branco”;

  9. Avatar de Vitor Godoi
    Vitor Godoi

    Olá, é possível disponibilizar essa database?

    1. Avatar de sergio
      sergio

      Vitor, está com problemas em criar a DB? em que passo concretamente, para o podermos ajudar 🙂

      1. Avatar de Pedro Pinto

        No próximo tutorial já disponibilizo uma coisa mais completa.

  10. Avatar de Redin
    Redin

    Para seguir…