Black Friday 20% de desconto
Ainda dá tempo

0

dias

00

hrs

00

min

00

seg

Primeiras aulas do curso Introdução ao SQL com MySQL: Manipule e consulte dados

Introdução ao SQL com MySQL: Manipule e consulte dados

Instalando e configurando o MYSQL - Introdução

Oi, gente.

Meu nome é Victorino Vila e eu serei o instrutor de vocês do curso de introdução ao SQL, usando o banco de dados MYSQL.

Para podermos alinhar as suas expectativas como aluno, quero deixar bem claro que os cursos de introdução ao SQL que nós produzimos aqui na Alura têm como objetivo fundamental apresentar SQL a quem nunca viu SQL antes. Isso porque os cursos de introdução ao SQL serão bem superficiais. Vamos falar um pouco de tudo, sem entrar muito a fundo sobre o conceito.

Isso tem como objetivo que você, que nunca viu banco de dados ou nunca mexeu com SQL possa ter o primeiro contato com a ferramenta. Não somente a ferramenta que é o banco que estamos utilizando como exemplo, mas também ao conceito da linguagem SQL.

Já produzimos na Alura o curso de introdução ao SQL com Microsoft SQL server 2017. Chegou a hora de fazermos o mesmo treinamento, mas, para o banco MYSQL.

Claro, vamos começar com esse treinamento fazendo o download e a instalação do MYSQL. Vou aproveitar e falar um pouco também sobre o histórico do banco, como ele surgiu, quais as principais características, vantagens etc.

Vamos instalar tudo isso e usar um IDE, que é uma interface gráfica, para que possamos conversar com o banco de dados. Vamos usar um IDE da própria MYSQL chamado MYSQL Workbench.

Dentro do Workbench, vamos percorrer vários conceitos da linguagem SQL, começando com criar tabelas. Vamos entender o que é um campo, uma linha, quais os tipos de campos que o MYSQL suporta.

Depois disso, também vamos aprender a apagar tabelas, a inserir dados dentro das tabelas, ou seja, como colocar informação dentro de tabelas criadas. Vamos ver várias situações. Também vamos aprender como substituir dados dentro da tabela e como apagar dados de uma tabela.

Depois que aprendemos a incluir, alterar e excluir dados em tabelas que criamos, vamos aprender a consultar. Aí então vamos fazer uma carga de dados nessas tabelas, exemplo o que nós estamos trabalhando, e vamos aprender a fazer seleções. Algumas seleções são simples de campos, ou seleção de todos os campos da tabela, e vamos aprender, por exemplo, a limitar a seleção através do comando WHERE .

Vamos fazer esse apanhado geral. Criar banco, tabela, inserir dados, modificar dados, excluir dados e consultar dados. Não entrando muito a fundo, mas para que você tenha o primeiro contato com o SQL.

Se você já conhece o SQL e quer relembrar, você pode fazer esse curso, mas se seu objetivo é se aprofundar um pouco mais, eu te aconselho a partir para os próximos cursos da carreira, porque lá sim vamos fazer uma ênfase mais profunda de manipular dados, consultar dados, fazer programação e de administrar o ambiente.

É isso aí. Espero que vocês gostem deste treinamento. Vamos continuar juntos daqui para a frente. Até já.

Instalando e configurando o MYSQL - História do SQL

Vamos começar?

Vamos falar um pouco da história da linguagem SQL. Para você que está tendo o primeiro contato com esse tipo de linguagem, e por isso está fazendo esse treinamento, é bom saber como ela surgiu, o motivo, o histórico dela.

O SQL foi desenvolvido originalmente no início dos anos 70, nos laboratórios da IBM, na cidade de San Jose, na Califórnia, dentro de um projeto chamado System R, que tinha como objetivo demonstrar a viabilidade da implementação de um modelo relacional que estava sendo desenvolvido por um estudioso chamado Codd. O Codd imaginou uma forma estruturada de fazer consultas nos bancos de dados que estavam surgindo, que eram chamados de bancos de dados relacionais.

Até aquele momento, os bancos de dados não tinham relacionamento entre as tabelas onde os dados eram armazenados. Esses bancos de dados antigos, os primeiros que surgiram, eram chamados de bancos de dados sequenciais, que possuem uma tripa de caracteres de textos que não permitia algum tipo de relacionamento entre eles.

Com o surgimento desses bancos de dados relacionais, que se chamavam DBMSs, o Codd pensou em criar uma linguagem que fosse fácil para extrair dados, ou manipular não somente dados, mas as estruturas desse banco, aproveitando a característica de relacionamento entre eles.

Mas não era só a IBM que trabalhava com isso. Já mais para o meio dos anos 80, a Oracle também estava procurando uma maneira fácil de manipular essas novas estruturas relacionais. E não somente ela, outras empresas estavam começando a fazer isso.

Estamos falando aí de meio para o final dos anos 80. No final dos anos 80 e início dos 90, um órgão americano chamado ANSI, que vem da sigla American National Standard Institute, estipulou alguns padrões para as consultas dos bancos de dados relacionais.

Foi criada então uma linguagem chamada SEQUEL, que vem do acrônico em inglês para Structured English Query Language, que traduzindo seria alguma coisa como linguagem de consulta estruturada em inglês.

No inglês, geralmente não pronunciamos SQL. Normalmente falamos em inglês que sabemos a linguagem SEQUEL. No português não. No português traduzimos para SQL.

A linguagem SQL veio com o objetivo de padronizar a forma como os dados são consultados nesses bancos de dados relacionais. Hoje em dia, todos os bancos que se dizem relacionais adotam o padrão SEQUEL, mas esse padrão não é somente usado para consulta de dados. É utilizado também para criação, alteração, estrutura, manipulação da estrutura do banco de dados, forma como o banco de dados interage com a segurança e assim por diante.

Podemos falar que existem algumas grandes vantagens do banco de dados relacional, e mais precisamente dessa padronização, usando a linguagem SEQUEL. A primeira é o aprendizado. Essa padronização de linguagem traz algumas vantagens. A primeira é que há um custo reduzido do aprendizado.

O profissional que sabe SQL, por exemplo, de Oracle, facilmente vai utilizar o SQL server da Microsoft, por exemplo. Algumas pequenas diferenças existem entre eles, principalmente na parte de funções, mas isso não é um grande problema para que um profissional se adapte facilmente de um banco de dados para outro.

Outra vantagem é a portabilidade. Fica muito fácil você migrar sistemas que utilizam Oracle para SQL Server, ou para MYSQL, ou vice versa. Claro que se você é um programador e está desenvolvendo uma aplicação que consulta banco de dados relacional, quanto mais próximo do ANSI, ou seja, quanto mais você utiliza o SQL standard definido pelo ANSI, fica muito mais fácil depois fazer uma portabilidade. Evitar, por exemplo, aquelas funções específicas do banco e deixar isso para o seu programa fazer.

Longevidade. Se o seu sistema utiliza relatórios ou processos utilizando o SQL, temos uma garantia de que eles vão funcionar durante muito tempo, principalmente para as novas versões de banco de dados, porque vão estar sempre adaptados ao padrão ANSI. Seu sistema nunca vai ficar fora de funcionamento quando você for fazer um upgrade de banco de dados, por exemplo.

Comunicação. O fato de todo mundo falar SQL permite que os sistemas possam facilmente se comunicar entre si. Processos de ETL ou de integração entre sistemas ficam muito mais fáceis de serem desenvolvidos, já que os dois falam o SQL padrão.

Liberdade de escolha. Como há um padrão de linguagem, quando a empresa for selecionar o uso de um banco de dados relacional não vai ficar presa, por exemplo, à linguagem de comunicação, já que ela é muito parecida. A empresa, ao decidir o uso de um banco de dados relacional vai usar outros critérios de escolha, como por exemplo performance, hardware, custo, e assim por diante.

Só que essa padronização também não tem só vantagens. Ela tem algumas desvantagens. Poucas, mas tem. A primeira é a falta de criatividade. O SQL possui alguns limites que podem não atender, por exemplo, as novas demandas de mercado. Principalmente com o advento das redes sociais e de grande volume de dados, chamado de big data. Ou seja, a necessidade de coletar dados que estão trafegando na internet.

Tanto é assim que hoje estão surgindo outros bancos que utilizam padrões diferentes dos bancos de dados relacionais, que costumamos chamar de NOSEQUEL. Esses bancos NOSQL atendem melhor às demandas, por exemplo, de redes sociais, de tabelas de big data. Mas estamos falando de estruturas que fogem do padrão ANSI e que exigem um aprendizado muito focado.

Outra coisa é a falta de estruturação da linguagem SQL. Ela não é uma linguagem estruturada, que possui ifs, whens, fors. Ou seja, comandos condicionais, como uma linguagem de programação normal.

Para suprir essa falta de estruturação, os bancos de dados relacionais, Oracle, SQL, MYSQL criaram suas próprias linguagens internas que fazem esse tipo de estruturação usando a linguagem SQL. Mas vamos dizer que isso está fugindo um pouco do padrão ANSI.

Esse padrão ANSI possui três grandes grupos de comandos. O primeiro deles são os DDLs, que vem de “linguagem de definição de dados”. É a parte da linguagem SQL que permite a manipulação das estruturas do banco de dados. Criar um banco, tabelas, índice, apagar tabela, alterar índice, alterar política de crescimento de índice. Todos os comandos que mexem com a estrutura do banco de dados relacional são comandos do tipo DDL.

O segundo grupo de comandos é chamado DML, que traduzindo para o português seria "linguagem de manipulação de dados". O DML é o grupo de comandos que tem como objetivo realmente gerenciar os dados. Incluir, alterar, excluir informações que estão dentro das estruturas do banco, como por exemplo as tabelas. Não somente fazer isso, mas também fazer consultas. Tirar informações das estruturas e exibir para os usuários.

Finalmente, temos os comandos DCL, que traduzindo seria “linguagem de controle de dados”. O DCL é um grupo de comandos que nos permite administrar o banco de dados, mas não a sua estrutura. Na administração do controle de acesso, gerenciar usuário, gerenciar o que cada usuário pode ou não ver. Gerenciar o banco a nível de estrutura, como vai ser a política de crescimento dele, como ele vai ser armazenado no disco, onde ele vai ser armazenado. Administrar os processos, saber quantos processos estão sendo executados, e assim por diante. Controle de logs, por exemplo, também está dentro do conjunto de linguagens DCL.

É isso. Quis dar nesse vídeo um apanhado geral. Não somente da história do SQL, mas também as características, vantagens e desvantagens e características dos comandos nessa linguagem.

Instalando e configurando o MYSQL - História do MySQL

Vamos falar agora um pouco da história do MYSQL e de algumas características que ele possui.

Falamos já antes sobre a história do SQL. Os bancos relacionais estavam começando a ser popularizados e três desenvolvedores, David Axmark, Allan Larsson e Michael Widenius, precisavam ter uma interface SQL que fosse compatível com o que estava sendo apresentado no mercado de banco de dados.

No começo, eles usavam APIs de terceiros para executar os comandos SQL para buscar as informações que eles precisavam de alguns bancos de dados de mercado. Mas esse retorno não foi muito satisfatório, então eles resolveram eles mesmos desenvolverem não somente sua API de consulta, mas também o seu próprio banco de dados, usando o C++.

Começou assim a se dar origem ao projeto MYSQL. A partir daí, o MYSQL começou a se popularizar. Primeiro porque ele foi apresentado como um software livre, em que a comunidade poderia ter acesso ao código fonte e contribuir com melhorias para o banco de dados. E ele se mostrou muito rápido, mais rápido do que muitos bancos de mercado que existiam na época, além de apresentar um excelente mecanismo de multitarefas de multi usuário, mostrando que seu servidor poderia ser usado, apesar de ser um software livre de comunidade, e aguentava muito bem uma escalabilidade robusta em missão crítica, que alguns bancos de dados relacionais precisam ter. Quando falo missão crítica é porque o banco não pode, por exemplo, parar nunca.

O MYSQL começou a se popularizar como software livre, sendo usado inclusive de modo corporativo. Em 2008, a MYSQL AB, que era o nome da empresa que estava gerenciando o código do MYSQL, foi comprada por um bilhão de dólares, por uma empresa chamada Sun Microsystems.

A Sun Microsystems na época era uma empresa grande. Ela começou na área de hardware e depois foi para a área de software. Ela é responsável pela criação do Java e também adquiriu o projeto MYSQL por esse valor de um bilhão.

Mas isso não ficou na mão dela durante muito tempo. Em 2009, um ano depois dela ter comprado o MYSQL, a Oracle comprou a Sun e acabou ficando como dona de todos os seus produtos. Por isso hoje a Oracle é dona do Java e do MYSQL.

Quando houve a compra por parte da Oracle, houve muito rebuliço no mercado, porque a Oracle tem seu banco de dados relacional robusto, e bem ou mal o MYSQL estava se mostrando um concorrente à altura do Oracle. Então, às vezes, algumas táticas de guerra, se você não consegue derrotar seu inimigo, você o compra e acaba com ele.

Felizmente a Oracle manteve o desenvolvimento do MYSQL. É claro que nessa época a comunidade open source quando o MYSQL passou para a mão da Oracle criou outro banco de dados que pode ser talvez foco de algum outro treinamento nosso na Alura, que é o MariaDB. O sucessor na parte open source do MYSQL.

Mas o MYSQL continuou sendo desenvolvido dentro da Oracle e como opção barata para as empresas, principalmente no mercado corporativo e também no mercado online, que vinha crescendo muito.

A Oracle soube manter a licença do MYSQL de forma dupla. Ou seja, os usuários podem escolher entre usar o programa como um produto open source, sob os tempos da licença GNU, ou comprar a licença padrão comercial do MYSQL. Claro que a Oracle ofereceu algumas vantagens para a empresa que compra o MYSQL de forma corporativa, como uma licença de um produto normal. Suporte mais rápido, acesso a documentação específica. Mas o banco de dados oferecido de forma aberta, open source, ainda mantém toda a eficiência característica que ele é apresentado antes de ser comprado por essas gigantes corporativas na área de tecnologia.

Claro, o MYSQL é um banco de dados relacional, ele tem a característica de bancos de dados relacionais que mencionei quando falei da história do SQL. E também é claro que o MYSQL é compatível com a linguagem SEQUEL. Por isso vamos aprender neste treinamento o SQL usando MYSQL.

O MYSQL possui um servidor que até certo ponto é bem robusto. Esse servidor provém características de multiacesso, integridade de dados, faz relacionamento entre tabelas, trabalha a concorrência quando várias pessoas querem acessar o mesmo dado na mesma tabela, faz controle de transações e outros. Essa é uma característica importante no que diz respeito à parte de servidor do MYSQL.

Outra característica importante é a portabilidade do banco de dados. O MYSQL pode ser transacionado entre diversos sistemas. Ou seja, posso desenvolver o MYSQL em Windows e depois usar esse banco de dados no Linux, ou no Unix. Ou seja, ele é interplataforma. Além disso, o MYSQL nos provém diversas APIs que permitem que possamos acessar os dados do MYSQL usando DotNet, Java, Phyton, PHP, Java Script, JQuery. Ou seja, todas as linguagens de programação que são mais utilizadas no mercado têm APIs nativas para acesso ao MYSQL.

Outra característica legal é a parte de multithreads. O MYSQL usa uma programação de threads utilizando diretamente o kernel do sistema operacional. Isso faz com que consigamos aumentar a velocidade de processamento das transações, e facilita a integração da ferramenta com hardwares, permitindo a escalabilidade da performance, ou seja, se você tiver uma SQL usando um servidor que tem um número x de CPUs, se você colocar mais CPUs ele se adapta facilmente utilizando o máximo do hardware que você está deixando disponível para o seu bando MYSQL.

O MYSQL trabalha com várias formas de armazenamento do banco de dados. Quando formos falar mais à frente sobre a parte de administração, vamos discutir isso com maior detalhes. Essas diferentes formas de armazenamento do banco de dados se adaptam às características das suas necessidades. Algumas formas de armazenamento priorizam a velocidade, enquanto outro priorizam o alto volume de armazenamento. Dependendo do foco com o qual você quer usar o MYSQL, você pode utilizar uma forma de armazenamento diferente.

Outra característica importante é a velocidade. O MYSQL é considerado um dos bancos mais rápidos do mercado, principalmente quando utilizamos funcionalidades ligadas à internet. Hoje, por exemplo, dentro dos sites de e-commerce, de aplicações de internet, o MYSQL é um dos bancos preferidos, principalmente porque hoje, nas nuvens, como na Amazon, do Google, da Microsoft, todas elas disponibilizam para você instâncias de MYSQL com alta escalabilidade. É um dos bancos preferidos do pessoal que desenvolve para internet.

Segurança. O banco de dados do MYSQL possui internamente diversos mecanismos de segurança. Além disso, permite que você possa segregar os dados por usuários de acesso, fazendo com que os usuários possam acessar somente os dados que eles podem ver. O MYSQL também possui uma série de mecanismos internos de segurança, o que torna ele um dos bancos mais seguros do mercado.

Capacidade. A estrutura interna do MYSQL permite que possamos armazenar uma quantidade enorme de dados. Dependendo, claro, das formas de armazenamento, se escolhermos uma forma que prioriza volume de dados, tenho um limite hoje de até 65 mil terabytes de dados que podem ser armazenados. Claro que em bancos desse tamanho vou conseguir armazenar essas informações, mas recuperá-las ou manipulá-las talvez seja um pouco difícil. Vou ter que ter muito hardware para fazer isso. É uma questão de equilíbrio. Mas também, um banco de dados que necessita de 65 mil terabytes de informação é muito grande. A maioria das aplicações corporativas não necessitam desse tamanho todo para trabalharem.

Aplicabilidade. O MYSQL não se aplica apenas a aplicações de internet, claro, apesar de ser preferida pelo pessoal da web. Também podemos dizer que o MYSQL pode ser usado muito bem em publicações de desktop, ou até mesmo aplicações corporativas, que chamamos de On Premises, ou seja, onde eu instalo no próprio servidor da empresa o banco de dados. Principalmente porque ele possui o que chamamos de ODBCs ou JDBCs, utilizando mais para o Windows e o JDBC mais para Java, que permite que possamos fazer acessos rápidos ao banco de dados MYSQL em aplicações desktop.

Finalmente, o item log. O MYSQL tem um forte gerenciamento de log, que registra tudo que fazemos no banco. Isso é interessante quando queremos, por exemplo, fazer uma recuperação de dados. Ou, por exemplo, se quisermos fazer o que chamamos de réplica de servidores, uma técnica muito usada no MYSQL quando temos um servidor chamado master e um servidor chamado slave. Há uma sincronização de dados.

Por isso o MYSQL é um dos bancos mais usados em nuvem, porque normalmente esses bancos de dados em nuvem estão replicados em diversos lugares do planeta para que se um CPD cair, o outro continue vivo e minha aplicação continue tendo alta disponibilidade de acesso.

É isso. Um pouco da história e características do banco MYSQL, que vou usar neste treinamento para mostrar para vocês como funciona a linguagem SQL.

Sobre o curso Introdução ao SQL com MySQL: Manipule e consulte dados

O curso Introdução ao SQL com MySQL: Manipule e consulte dados possui 253 minutos de vídeos, em um total de 56 atividades. Gostou? Conheça nossos outros cursos de SQL e Banco de Dados em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

15% off

Aprenda SQL e Banco de Dados acessando integralmente esse e outros cursos, comece hoje!

  • 1233 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

  • Desconto 15%

Premium

Desconto 15%
  • 1233 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75 R$63,75
à vista R$900 R$765
Matricule-se

Premium Plus

Desconto 15%
  • 1233 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100 R$85
à vista R$1.200 R$1.020
Matricule-se

Max

Desconto 15%
  • 1233 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120 R$102
à vista R$1.440 R$1.224
Matricule-se
Conheça os Planos para Empresas

Acesso por 1 ano

Estude 24h/dia onde e quando quiser

Novos cursos todas as semanas