MySQL: do download e instalação até sua primeira tabela

MySQL: do download e instalação até sua primeira tabela
Philemon Delva
Philemon Delva

Compartilhe

Introdução: MySQL — do download e instalação até sua primeira tabela

Neste tutorial, você aprenderá passo a passo como instalar o MySQL na plataforma Windows usando o Instalador do MySQL. Após o tutorial, você terá um servidor MySQL e suas ferramentas em funcionamento no seu computador para aprender e praticar.

O MySQL é sem dúvida um dos sistemas de gestão de banco de dados de código aberto mais popular e mais utilizado do mundo. Ele é simples de configurar e utilizar. Ele é reconhecido como um dos mais rápidos mecanismos de banco de dados, a maioria dos hosts da web Linux (e muitos baseados no Windows) oferecem MySQL.

O MySQL está intimamente integrado ao PHP, o que o torna um candidato ideal para muitas aplicações web.

Banner promocional da Alura, com um design futurista em tons de azul, apresentando dois blocos de texto, no qual o bloco esquerdo tem os dizeres:

Download do MySQL

Se você deseja instalar o MySQL no ambiente Windows, o instalador do MySQL é a maneira mais fácil. O instalador do MySQL fornece um assistente fácil de usar que ajuda você a instalar o MySQL com os seguintes componentes:

  • MySQL Server
  • All Available Connectors
  • MySQL Workbench with Sample Data Models
  • MySQL Notifier
  • Tools for Excel and Microsoft Visual Studio
  • MySQL Sample Databases
  • MySQL Documentation

O MySQL installer pode ser adquirido nesse link.

Se você estiver conectando à Internet durante a instalação do MySQL, poderá escolher a versão de instalação online mysql-installer-web-community-<version>.exe .

Caso desejar instalar o MySQL offline, você pode baixar o arquivo mysql-installer-community-<version>.exe.

Instalando o MySQL via o instalador do MySQL

Para instalar o MySQL usando o instalador do MySQL, clique duas vezes no arquivo do instalador do MySQL e siga as etapas abaixo:

#inset O Windows está configurando o instalador do MySQL #inset

Uma tela de boas-vindas fornece várias opções. Escolha a primeira opção: Install MySQL Products

#inset

Faça o download dos mais recentes produtos MySQL: O instalador do MySQL verifica e baixa os mais recentes produtos MySQL, incluindo servidor MySQL, MySQL Workbench, etc.

#inset

Clique no botão Next para continuar

#inset

Escolha um tipo de instalação: existem vários tipos de configuração disponíveis. Escolha a opção Full para instalar todos os produtos e recursos do MySQL.

#inset

Verificando os requisitos

#inset ![](https://i.ibb.co/RyVccf1/Philemon-mysql-step-7.png)

Progresso da instalação: O instalador do MySQL baixa todos os produtos selecionados. Isso poderá demorar um pouco, dependendo dos produtos selecionados e da velocidade da sua conexão à Internet.

#inset Download de produtos em andamento #inset

Download completo. Clique no botão Next para continuar

#inset

Visão geral da configuração. Clique no botão Next para configurar o MySQL Database Server

#inset

Configuração do servidor MySQL: escolha Tipo de configuração e porta MySQL (3306 por padrão) e clique no botão Next para continuar.

#inset

Escolha uma senha para a conta root. Anote a senha e mantenha-a em segurança se estiver instalando o servidor de banco de dados MySQL em um servidor de produção. Se você deseja adicionar mais um usuário MySQL, pode fazê-lo nesta etapa.

#inset

Escolha os detalhes do serviço do Windows, incluindo o Nome do serviço do Windows e o tipo de conta, depois clique no botão Next para continuar.

#inset

O Instalador do MySQL está configurando o servidor de banco de dados MySQL. Aguarde até terminar e clique no botão Next para continuar.

#inset Feito. Clique no botão **Next** para continuar. #inset

O Instalador do MySQL instala bancos de dados e modelos de amostra.

#inset

A instalação está concluída. Clique no botão Finish para fechar o assistente de instalação e iniciar o MySQL Workbench.

Criando Tabelas no MySQL

Agora vamos ver como criar tabelas no MySQL.

A instrução CREATE TABLE permite criar uma nova tabela em um banco de dados.

A seguir, ilustramos a sintaxe básica da instrução CREATE TABLE:

    CREATE  TABLE  [IF NOT EXISTS]  table_name(
       column_1_definition,
       column_2_definition,
       ...,
       table_constraints
    )  ENGINE=storage_engine;

Primeiro, você deve especificar o nome da tabela que deseja criar após as palavras-chave CREATE TABLE. O nome da tabela deve ser exclusivo dentro de um banco de dados. O IF NOT EXISTS é opcional. Ele permite que você verifique se a tabela que você cria já existe no banco de dados. Se for esse o caso, o MySQL ignorará toda a instrução e não criará nenhuma nova tabela.

Segundo, você deve especificar uma lista de colunas da tabela na seção column_list, as colunas são separadas por vírgulas.

Terceiro, você pode opcionalmente especificar o mecanismo de armazenamento para a tabela na cláusula ENGINE. Você pode usar qualquer mecanismo de armazenamento como InnoDB e MyISAM. Se você não declarar explicitamente um mecanismo de armazenamento, o MySQL usará o InnoDB por padrão.

O InnoDB se tornou o mecanismo de armazenamento padrão desde o MySQL versão 5.5. O mecanismo de armazenamento InnoDB traz muitos benefícios de um sistema de gerenciamento de banco de dados relacional, como transações ACID, integridade referencial e recuperação de falhas. Nas versões anteriores, o MySQL usava o MyISAM como o mecanismo de armazenamento padrão.

A seguir, é mostrada a sintaxe da definição de uma coluna:

    column_name  data_type(length)  [NOT NULL]  [DEFAULT  value]  [AUTO_INCREMENT]  column_constraint;

Aqui estão os detalhes:

  • O nome da coluna especifica o nome da coluna. Cada coluna tem um tipo de dados específico e tamanho opcional, por exemplo, VARCHAR (255)
  • A restrição NOT NULL garante que a coluna não contenha NULL. Além da restrição NOT NULL, uma coluna pode ter restrições adicionais, como CHECK e UNIQUE.
  • O padrão especifica um valor padrão para a coluna.
  • O AUTO_INCREMENT indica que o valor da coluna é incrementado por um automaticamente sempre que uma nova linha é inserida na tabela. Cada tabela possui no máximo uma coluna AUTO_INCREMENT.

Após a lista de colunas, você pode definir restrições de tabela como UNIQUE, CHECK, PRIMARY KEY e FOREIGN KEY.

Por exemplo, se você deseja definir uma coluna ou um grupo de colunas como a chave principal, use a seguinte sintaxe:

    PRIMARY KEY  (col1,col2,...)

Exemplos de instruções MySQL CREATE TABLE

Vamos ver alguns exemplos de criação de novas tabelas. A instrução a seguir cria uma nova tabela chamada tasks:

CREATE  TABLE  IF NOT EXISTS  tasks  (

         task_id  INT  AUTO_INCREMENT  PRIMARY KEY,

         title  VARCHAR(255)  NOT NULL,

         start_date  DATE,

         due_date  DATE,

         status  TINYINT  NOT NULL,

         priority  TINYINT  NOT NULL,

         description  TEXT,

         created_at  TIMESTAMP  DEFAULT  CURRENT_TIMESTAMP
)           ENGINE=INNODB;

A tabela de tarefas possui as seguintes colunas:

  • O tasks_id é uma coluna de incremento automático. Se você usar a instrução INSERT para inserir uma nova linha na tabela sem especificar um valor para a coluna tasks_id, o MySQL gerará automaticamente um número inteiro seqüencial para o tasks_id a partir de 1.
  • A coluna title é uma coluna de cadeia de caracteres variável cujo comprimento máximo é 255. Isso significa que você não pode inserir uma cadeia cujo comprimento seja maior que 255 nessa coluna. A restrição NOT NULL indica que a coluna não aceita NULL. Em outras palavras, você deve fornecer um valor não NULL ao inserir ou atualizar esta coluna.
  • O start_date e due_date são colunas DATE. Como essas colunas não têm a restrição NOT NULL, elas podem armazenar NULL. A coluna start_date possui um valor padrão da data atual. Em outras palavras, se você não fornecer um valor para a coluna start_date ao inserir uma nova linha, a coluna start_date terá a data atual do servidor de banco de dados.
  • O status e a priority são as colunas TINYINT que não permitem NULL. A coluna description é uma coluna de TEXT que aceita NULL.
  • O created_at é uma coluna TIMESTAMP que aceita o horário atual como o valor padrão.

O tasks_id é a coluna da chave primária da coluna da tabela tasks. Isso significa que os valores na coluna tasks_id identificarão exclusivamente as linhas na tabela.

Depois de executar a instrução CREATE TABLE para criar a tabela taks, é possível visualizar sua estrutura usando a instrução DESCRIBE:

    DESCRIBE  tasks;
#inset

Esta imagem mostra o diagrama do banco de dados da tabela taks:

#inset

MySQL CREATE TABLE com um exemplo de chave primária de chave estrangeira. Suponha que cada tarefa tenha uma lista de verificação ou lista de tarefas. Para armazenar listas de verificação de tarefas, você pode criar uma nova tabela denominada checklists da seguinte maneira:

CREATE TABLE IF NOT EXISTS checklists (

     todo_id  INT  AUTO_INCREMENT,
     task_id  INT,
     todo  VARCHAR(255)  NOT NULL,
     is_completed  BOOLEAN  NOT NULL  DEFAULT  FALSE,
     PRIMARY KEY  (todo_id  ,  task_id),
     FOREIGN KEY  (task_id)
          REFERENCES  tasks  (task_id)
          ON UPDATE  RESTRICT  ON DELETE  CASCADE

);

A tabela checklists possui uma chave primária que consiste em duas colunas. Portanto, usamos uma restrição de tabela para definir a primary key:

PRIMARY KEY  (todo_id  ,  task_id)

Além disso, o task_id é a coluna de chave estrangeira que faz referência à coluna task_id da tabela tasks, usamos uma restrição de chave estrangeira para estabelecer esse relacionamento:

FOREIGN KEY (task_id)

    REFERENCES  tasks  (task_id)
    ON UPDATE  RESTRICT
    ON DELETE  CASCADE

Esta imagem ilustra a tabela checklists e seu relacionamento com a tabela de tasks: #inset

Alguns Comandos Úteis do MySQL

show tables; Para ver todas as tabelas da base de dados.

show databases; Listar todas as bases de dados no servidor SQL.

create database [databasename]; Para criar uma base de dados em um servidor SQL.

use [db name]; Mudar de base de dados.

describe [table name]; Para ver os formatos dos campos.

drop database [database name]; Para apagar uma base de dados.

drop table [table name]; Para apagar uma tabela.

*SELECT FROM [table name];** Para ver toda a informação de uma tabela.

show columns from [table name]; Retornar a informação das colunas e as respectivas colunas da tabela especificada.

*SELECT FROM [table name] WHERE [field name] = “valor dado”;** Ver campos específicos com o valor “valor dado”.

*SELECT FROM [table name] WHERE name = “Fulano” AND phone_number = ‘8585858′;** Ver todas as entradas que contenham o nome “Fulano” e o Numero de telefone ‘8585858′.

*SELECT FROM [table name] WHERE name != “Abracadabra” AND phone_number = ‘6777777′ order by phone_number;** Ver todas as entradas que contenham o nome “Abracadabra” e o número de telefone ‘6777777′ ordenadas pelo campo do telefone.

*SELECT FROM [table name] WHERE name like “Delva%” AND phone_number = ‘6220980′;** Ver todas as entradas que comecem pelas letras ‘joão’ e pelo telefone ‘6220980′.

SELECT DISTINCT [column name] FROM [table name]; Mostrar entradas únicas.

SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC; Mostrar entradas seleccionadas por ordem ascendente (asc) ou descentente (desc).

*SELECT COUNT() FROM [table name];** Retornar o número de colunas.

*SELECT SUM() FROM [table name];** Somar as colunas.

INSERT INTO [table name] (Host,User,Password) VALUES(’%’,’user’,PASSWORD(’password’)); Mudar para a mysql db. Criar um novo utilizador.

SET PASSWORD FOR ‘user’@’hostname’ = PASSWORD(’passwordhere’); Mudar uma password de um utilizador.(da linha de comandos MySQL).

DELETE from [table name] where [field name] = ‘whatever’; Apagar linhas de uma tabela.

FLUSH PRIVILEGES; Atualizar permissões e previlégios de uma base de dados.

alter table [table name] drop column [column name]; Apagar uma Coluna.

alter table [table name] add column [new column name] varchar (20); Adicionar uma coluna a uma Base de Dados.

alter table [table name] change [old column name] [new column name] varchar (50); Mudar o nome de uma tabela.

alter table [table name] add unique ([column name]); Criar uma única coluna.

alter table [table name] modify [column name] VARCHAR(3); Criar uma coluna maior.

alter table [table name] drop index [colmn name]; Apagar unica de uma tabela.

[mysql dir]/bin/mysqldump -u root -ppassword –opt >/tmp/alldatabases.sql: Fazer um backup de todas as bases de dados.

[mysql dir]/bin/mysqldump -u username -ppassword –databases databasename >/tmp/databasename.sql: Fazer um backup de apenas uma base de dados.

[mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql : Fazer o backup de uma tabela de uma base de dados.

[mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql: Restaurar uma base de dados (ou tabela) de um backup.

UPDATE NOME_DA_TABELA SET campo1 = valor1, campo2 = valor2. O comando update possui a sintaxe muito similar ao do INSERT, mas é utilizada para atualizar registros do banco de dados.

Neste tutorial, você aprendeu como usar a instrução MySQL CREATE TABLE para criar uma tabela no banco de dados. E você também aprendeu como é feita a instalação do MySQL via o instalador, e por fim alguns comandos uteis do MySQL.

Veja outros artigos sobre Data Science