MySQL, afinal o que é?

Olá leitor neste artigo vamos falar sobre o MySQL, um SGBD (Sistema Gerenciador de Banco de Dados) relacional, que utiliza a linguagem SQL (Structured Query Language, ou traduzindo, Linguagem de Consulta Estruturada). Atualmente é um dos bancos de dados mais populares, com mais de 10 milhões de instalações pelo mundo.

Foi inicialmente desenvolvido para trabalhar com projetos de até médio porte, com capacidade para suportar por volta de cem milhões de registros em cada tabela.

MySQL é conhecido por ser de fácil utilização, empresas como NASA, HP, Sony entre outras grandes empresas fazem uso. Possui uma interface extremamente simples, é compatível com grande parte dos sistemas operacionais e continua em constante desenvolvimento, recebendo atualizações frequentes.

Um pouco de história

MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan Larsson e Michael “Monty” Widenius, que têm trabalhado juntos desde a década de 1980.

No dia 16 de janeiro de 2008, a MySQL AB, desenvolvedora do MySQL foi adquirida pela Sun Microsystems, por nada menos que  US$ 1 bilhão, um valor realmente auto para um software open source.

O sucesso do MySQL deve-se em grande medida à fácil integração com o PHP, incluído quase que obrigatoriamente, nos pacotes de hospedagem de sites da Internet atualmente.

Hoje oferece suporte a recursos como Unicode, Full Text Indexes, replicação, Hot Backup, GIS, OLAP e muitos outros.

Compatibilidade

MySQL é compatível com quase todos os sistemas operacionais existentes atualmente, por ter sido desenvolvido em C e C++, tornou-se extremamente acessível entre os diversos sistemas operacionais. Abaixo temos alguns exemplos:

  • Windows. (Todas as versões);
  • Linux: (Sendo compatível com as principais versões, como Fedora, Core, Debian, SuSE e RedHat);
  • Unix. (As seguintes versões HP-UX, AIX, SCO);
  • FreeBSD;
  • Mac OS X Server.

Algumas características

Portabilidade:  é fácil a portabilidade entre os diferentes sistemas, plataformas e compiladores. Possui também módulos de interface para múltiplas linguagens, tais como Delphi, Java, Python, PHP, ASP, Ruby e entre outras.

Formas de Armazenamento: Podemos criar diversas tabelas com vários tipos diferentes para armazenamento dos dados, deste modo cada tipo pode ter suas próprias características, possibilitando utilizar essas tabelas em situações diferentes.

Capacidade: O MySQL possui um alto poder de execução e de armazenamento. Dependendo da plataforma, suas tabelas poderão armazenar volumes de dados, onde o limite ficará por conta somente do tamanho máximo de arquivos que a plataforma utilizada suportar.

O tão famoso SQL: Por trabalhar com a linguagem SQL, o MySQL acaba sendo extremamente rápido, por consequência de ter sido implementado através de códigos e funções altamente customizadas pelos seus desenvolvedores, algo que trouxe grande vantagem de velocidade no processamento dos códigos SQL.

Criando uma tabela

Bom agora que já vimos um pouco de teoria vamos ver alguns comandos simples do SQL. Para começar é preciso ter um banco de dados criado e é claro o MySQL instalado. Você pode fazer o download neste link.

Após instalar procure por MySQL Workbench. Ao abrir, você verá a tela como na figura 1.

Figura 1: Tela inicial do MySQL

Nesta tela vamos clicar em Local instance MySQL80. Se durante a instalação foi configurada uma senha, será necessário digitá-la para ter acesso à tela da figura 2. Feito isso você verá esta outra tela, e começaremos a criar nosso banco de dados.

Figura 2: Tela de comando do MySQL

Criando um banco de dados

Vamos criar nosso primeiro banco chamado uncovercode utilizando o comando:

CREATE DATABASE uncovercode;

Como você pode observar, a sintaxe SQL e bem simples e intuitiva e com um conhecimento básico da língua inglesa fica fácil de entender os comandos. Para executar este comando você pode utilizar Ctrl + Enter ou clicar no símbolo do Raio (figura 3).

Figura 3: Criando uma base de dados

Após a execução será exibido uma mensagem informando se o comando foi bem-sucedido ou não.  Uma dica rápida, se você tiver vários comandos e não quiser executar todos de uma vez, selecione apenas bloco SQL que deseja executar.

Usando o banco de dados

Para selecionar o banco de dados criado digitamos:

USE uncovercode;

.Agora podemos criar a nossa primeira tabela.

Figura 4: Selecionando uma base de dados

Criando tabelas

Para cria nossa tabela, a qual daremos o nome de leitor, digite o seguinte:

CREATE TABLE leitor (
codigo int(4) AUTO_INCREMENT,
nome varchar(30) NOT NULL,
email varchar(50),
PRIMARY KEY (codigo)
);

Agora vamos analisar melhor o que foi feito.

  • AUTO_INCREMENT é utilizado para automatizar um campo que sirva de chave primária de uma tabela, no nosso exemplo o atribuído código é número sequencial que cada vez que inserirmos um novo registro e automaticamente criado um valor para cada novo registro;
  • PRIMARY KEY define a chave primária da tabela, o campo que serve como identificador único para um registro e que não pode se repetir;
  • NOT NULL define que um determinado campo seja de preenchimento obrigatório.

Agora que temos nosso banco de dados e uma tabela já podemos começar a manipular os dados.

Inserindo dados

De nada adianta ter uma tabela que não possua nenhum dado. Vamos colocar alguns dados na tabela, para fazer isso utilize o comando

INSERT INTO leitor(codigo, nome, email) VALUES (null, 'Eduardo', 'ed@gmail.com') ;
INSERT INTO leitor(codigo, nome, email) VALUES (null, 'Lucas', 'lucas_123@gmail.com') ;
INSERT INTO leitor(codigo, nome, email) VALUES (null, 'Marcia', 'm_rodri@gmail.com') ;
Figura 5: Inserindo dados na tabela

Após executar os comando acima você terá inserido os dados na sua tabela.

Consultando

Agora que nossa tabela está com alguns registros, vamos usar o comando SELECT para poder consultar estes registros. Digite:

SELECT * FROM leitor;

Este comando faz com que todos os registros da tabela sejam retornados.

Podemos utilizar o SELECT de formas bem mais interessantes, ele possui diversas variações e combinações de busca, e isso nos permite realizar buscas exatamente do que queremos e do jeito que queremos, se quisermos consultar apenas o nome do leitor podemos fazer da seguinte forma:

SELECT nome FROM leitor;

Nesse caso ele irá trazer o que está no campo nome do registro.

Figura 6: Executando um select na tabela

Legal, conseguimos retornar apenas o campo que queríamos da tabela, e se em nossa consulta quiséssemos trazer os registros de forma ordenada ? Para isso existe o comando ORDER BY, basta dizer por qual campo você quer ordenar.

SELECT * FROM leitor ORDER BY nome desc;

Desta forma, os registros retornados virão ordenados pelo campo nome em ordem alfabética. Como eu sei disso? Quando usamos termo “asc” estamos nos referindo a ordem ascendente, se quiséssemos fazer um SELECT em ordem descendente, bastaria utilizarmos “desc”.

O resultado da nossa busca pode ser visto aqui:


Figura 7: Executando um select na tabela

Atualizando registros

Para alterar um registro, usamos o comando UPDATE, com ele é possível alterar os valores dos campos de uma tabela. Vamos alterar o nome do registro de código 1:

UPDATE leitor SET nome='Eduardo Martins' WHERE codigo = 1;

Para ver o resultado bastar executar o comando SELECT, como nas figuras 6 e 7.

Agora fique atento a uma coisa muito importante, observe que neste comando existe a cláusula WHERE, sem ela você alteraria o valor de todos os campos “nome” na tabela e dependendo da situação isso não seria nada bom, certo?  Geralmente colocamos junto a WHERE algo que seja específico do campo que queremos alterar, neste exemplo a coluna código é única para cada registro.

Deletando dados

Por último e não menos importante, vamos falar do comando DELETE. Excluindo o leitor de código 3 com a linha abaixo:

DELETE FROM leitor WHERE codigo = 3;

O comando DELETE é o responsável por remover todo e qualquer registro do bando de dados.  Uma vez executado, o comando não pode ser revertido, por esse motivo tome bastante cuidado ao utilizá-lo.

Esse foi um guia básico de como utilizar o MySQL Workbench e sobre alguns comandos de CRUD. Nós próximos artigos falaremos de outros comandos mais avançados e como eles facilitam a vida do desenvolvedor, até lá!

Compartilhe!