// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Estabelecendo Conexão com um Banco de Dados MySQL
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Estabelecendo Conexão com um Banco de Dados MySQL - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Estabelecendo Conexão com um Banco de Dados MySQL

Este documento demonstra como configurar uma conexão com um banco de dados MySQL no NetBeans IDE. Uma vez conectado, você pode começar a trabalhar com o MySQL no Explorador do Banco de Dados do IDE criando novos bancos de dados e tabelas, preenchendo tabelas com dados e executando consultas SQL em conteúdo e estruturas de bancos de dados. Este tutorial é direcionado a iniciantes com um conhecimento básico do gerenciamento de bancos de dados, que desejam utilizar seu conhecimento para trabalhar com o MySQL no NetBeans IDE.

O link:http://www.mysql.com/[+MySQL+] é um sistema de gerenciamento de banco de dados relacional de código-fonte aberto (RDBMS) geralmente usado em aplicações Web devido à sua velocidade, flexibilidade e confiabilidade. O MySQL emprega a linguagem SQL, ou _Structured Query Language_, para acessar e processar os dados contidos em bancos de dados.

*Duração esperada: _30_ minutos*

*Para seguir este tutorial, os recursos e softwares a seguir são necessários.*

|===
|Software ou Recurso |Versão Necessária 

|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |Java 7.2, 7.3, 7.4, 8.0 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+JDK (Java Development Kit)+] |Versão 7 ou 8 

|Servidor de banco de dados MySQL |link:http://dev.mysql.com/downloads/mysql/[+versão 5.x+] 
|===

NOTE:  este tutorial presume que você já possui o RDBMS MySQL instalado e configurado no computador. Se você estiver instalando pela primeira vez, consulte a link:http://dev.mysql.com/doc/refman/5.0/en/installing-cs.html[+documentação oficial do MySQL+] para obter ajuda. Você também pode consultar link:install-and-configure-mysql-server.html[+Configurando o Servidor de Banco de Dados MySQL no Sistema Operacional Windows+].


== Configurando as Propriedades do Servidor MySQL

O NetBeans IDE vem com suporte para o RDBMS MySQL. Antes que você possa acessar o Servidor de Banco de Dados MySQL no NetBeans IDE, você deve configurar as propriedades do Servidor MySQL.

1. Clique com o botão direito do mouse no nó Banco de Dados na janela Serviços e escolha Registrar o Servidor MySQL para abrir a caixa de diálogo Propriedades do Servidor MySQL.

image::images/mysql-props1.png[]

[start=2]
. Confirme se o nome e a porta do host do servidor estão corretos.

Observe que o IDE insere `localhost` como o nome de host de servidor default e `3306` como o número de porta de servidor default.

[start=3]
. Insira o nome de usuário Administrador (se não estiver exibido).

NOTE: você precisa de acesso administrativo para poder criar e remover bancos de dados.

[start=4]
. Insira a senha do Administrador. O default é definido como em branco.

NOTE:  uma senha em branco também pode ser uma senha.

[start=5]
. Clique na guia Propriedades de Admin na parte superior da caixa de diálogo.

A guia Propriedades de Admin é então exibida, permitindo que você insira informações para controlar o servidor MySQL.

[start=6]
. No campo Caminho/URL para ferramenta admin, digite ou navegue para o local da aplicação de administração do MySQL como a Ferramenta admin de MySQL, PhpMyAdmin, ou outras ferramentas de administração baseadas na Web.

NOTE: `mysqladmin` é a ferramenta de administração do MySQL encontrada na pasta `bin` do diretório de instalação do MySQL. Ela é uma ferramenta de linha de comandos e não é ideal para uso com o IDE.

Digite argumentos para a ferramenta admin no campo Argumentos.

[start=7]
.  Em Caminho para o comando iniciar, digite a localização do comando iniciar do MySQL ou navegue até ele. Para encontrar o comando iniciar, procure `mysqld` na pasta `bin` do diretório de instalação do MySQL.

NOTE:  o binário recomendado para Unix e NetWare é ` mysql_safe`. O comando iniciar também pode variar se o MySQL tiver sido instalado como parte de uma instalação AMP.

Digite argumentos para o comando iniciar no campo Argumentos.

[start=8]
. No campo Caminho para o comando interromper, digite a localização do comando Interromper do MySQL ou navegue até ele. Geralmente, é o caminho para o `mysqladmin` na pasta `bin` do diretório de instalação do MySQL. Se o comando for `mysqladmin`, no campo Argumentos, digite `-u root stop` para conceder permissões `root` para interromper o servidor.
. Quando você terminar, a guia Propriedades de Admin deverá ter aparência similar à seguinte figura. Se estiver satisfeito com a configuração, clique em OK.

image::images/mysql-props2.png[]


== Iniciando o Servidor MySQL

Antes que você possa se conectar a um Servidor de Banco de Dados MySQL, certifique-se de que ele esteja sendo executado no computador. Se o servidor do banco de dados não estiver conectado, você verá *(disconnected)* ao lado do nome de usuário no nó MySQL Server, na janela Serviço, e não poderá expandir o nó.

Para conectar o servidor do banco de dados, confirme se o Servidor de Banco de Dados MySQL está em execução na máquina, clique com o botão direito do mouse no nó Bancos de Dados > MySQL Server na janela Serviços e escolha Conectar. Talvez você seja solicitado a fornecer uma senha para conectar-se ao servidor.

image::images/services-running.png[]

Quando o servidor estiver conectado, você poderá expandir o nó do MySQL Server e exibir todos os bancos de dados MySQL disponíveis.


== Criando e Estabelecendo Conexão à Instância do Banco de Dados

Uma forma comum de interagir com banco de dados é usando um editor SQL. O NetBeans IDE possui um mecanismo Editor SQL para esta finalidade. O Editor SQL geralmente pode ser acessado por meio da opção Executar Comando do menu de contexto do nó da conexão (ou dos nós filhos do nó da conexão). Agora que está conectado ao servidor MySQL, você pode criar uma nova instância de banco de dados usando o Editor SQL. Para a finalidade deste tutorial, crie uma instância chamada  ``MyNewDatabase`` :

1. Na janela Serviços do IDE, clique com o botão direito do mouse no nó Servidor MySQL e escolha Criar Banco de Dados.
A caixa de diálogo Criar Banco de Dados MySQL é aberta.

[start=2]
. Na caixa de diálogo Criar Banco de Dados MySQL, digite o nome do novo banco de dados. Será utilizado `MyNewDatabase` para este tutorial. Deixe a caixa de seleção desmarcada neste momento. image:images/create-db-dbx.png[]

NOTE: também é possível conceder acesso total a um determinado usuário. Por default, somente o usuário admin possui as permissões para realizar determinados comandos. A lista drop-down permite que você designe essas permissões a um usuário específico.

[start=3]
. Clique em OK.

O novo banco de dados é exibido no nó do Servidor MySQL na janela Serviços.

[start=4]
. Clique com o botão direito do mouse no novo nó do banco de dados e escolha Conectar no menu pop-up para abrir a conexão para o banco de dados.

As conexões do banco de dados que estão abertas são representadas por um nó de conexão completo (image:images/connection-node-icon.png[]) na janela Serviços.


== Criando Tabelas do Banco de Dados

Agora que você se conectou a  ``MyNewDatabase`` , pode começar a explorar como criar tabelas, preenchê-las com dados e modificar os dados mantidos nas tabelas. Isso permite que você observe mais de perto a funcionalidade oferecida pelo Explorador do Banco de Dados, assim como o suporte do NetBeans IDE para arquivos SQL.

 ``MyNewDatabase``  está vazio no momento. No IDE, é possível adicionar uma tabela de banco de dados usando a caixa de diálogo Criar Tabela ou inserindo uma consulta SQL e executando-a diretamente do Editor SQL. Aqui, você pode explorar ambos os métodos:

1. <<usingSQLEditor,Usando o Editor SQL>>
2. <<usingCreateTable,Usando a Caixa de Diálogo Criar Tabela>>


=== Usando o Editor SQL

1. No Explorador do Banco de Dados, expanda o nó da conexão  ``MyNewDatabase``  (image:images/connection-node-icon.png[]) e observe que há três subpastas: Tabelas, Views e Procedimentos.
2. Clique com o botão direito do mouse na pasta Tabelas e escolha Executar Comando. Uma tela em branco é aberta no Editor SQL na janela principal.
3. No Editor SQL, digite a seguinte consulta. Esta é uma definição da tabela  ``Consultor``  que você irá criar.

[source,sql]
----
CREATE TABLE Counselor (
    id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    firstName VARCHAR (50),
    nickName VARCHAR (50),
    lastName VARCHAR (50),
    telephone VARCHAR (25),
    email VARCHAR (50),
    memberSince DATE DEFAULT '0000-00-00',
    PRIMARY KEY (id)
            );
----
NOTE:  consultas formadas no Editor SQL faz parsing em SQL. A linguagem SQL utiliza regras de sintaxe estritas com as quais você deve estar familiarizado ao trabalhar no editor do IDE. Na execução de uma consulta, um feedback do mecanismo SQL é gerado na janela de Saída indicando se a execução foi ou não bem-sucedida.

[start=4]
. Para executar a consulta, clique no botão Executar SQL (image:images/run-sql-button.png[]) na barra de tarefas na parte superior (Ctrl-Shift-E), ou clique com o botão direito do mouse dentro do Editor de SQL e escolha Executar Instrução. O IDE gera a tabela  ``Consultor``  no banco de dados, e você recebe uma mensagem similar à seguinte na janela de Saída.

image::images/create-counselor-query.png[]

[start=5]
.  Para verificar as alterações, clique com o botão direito do mouse no nó Tabelas no Explorador do Banco de Dados Explorer e escolha Atualizar. A opção Atualizar atualiza o componente UI do Explorador do Banco de Dados para o status atual do banco de dados especificado. Observe que o novo nó da tabela  ``Consultor``  (image:images/table-node.png[]) é exibido agora em Tabelas no Explorador do Banco de Dados. Se você expandir o nó da tabela você pode ver as colunas (campos) você criou, iniciando com a chave primária (image:images/primary-key-icon.png[]).

image::images/counselor-table.png[]


=== Usando a Caixa de Diálogo Criar Tabela

1. No Explorador do Banco de Dados, clique com o botão direito do mouse no nó Tabelas e escolha Criar Tabela. A caixa de diálogo Criar Tabela é aberta.
2. No campo de texto Nome da tabela, digite  ``Assunto`` .
3. Clique em Adicionar Coluna.
4. No Nome da coluna, insira  ``id`` . Selecione  ``SMALLINT``  no tipo de dados na lista drop-down Tipo. Clique em OK.

image::images/add-column-dialog.png[]

[start=5]
. Marque a caixa de seleção Chave Primária na caixa de diálogo Adicionar Coluna. Você está especificando a chave primária da tabela. Todas as tabelas de bancos de dados relacionais devem conter uma chave primária. Observe que quando a caixa de seleção Chave é marcada, as caixas de seleção Índice e Exclusivo são automaticamente marcadas e a caixa de seleção Nulo é desmarcada. Isso ocorre porque as chaves primárias são usadas para identificar uma linha exclusiva no banco de dados e por default formam o índice da tabela. Como todas as linhas precisam ser identificadas, as chaves primárias não podem conter um valor Nulo.
. Repita esse procedimento adicionando as colunas remanescentes, como exibido na tabela a seguir.

|===
|Chave |Índice |Nulo |Exclusiva |Nome da Coluna |Tipo de Dados |Tamanho 

|[marcada] |[marcada] |[marcada] |id |SMALLINT |0 

|[marcada] |nome |VARCHAR |50 

|[marcada] |descrição |VARCHAR |500 

|[marcada] |FK_counselorID |SMALLINT |0 
|===

Está sendo criada uma tabela chamada  ``Assunto``  que possuirá dados para cada um dos seguintes registros.

* *Nome: *nome do assunto
* *Descrição: *descrição do assunto
* *ID do Consultor: *ID do consultor que corresponde a um ID da tabela Consultor

image::images/create-table-subject.png[]

Certifique-se de que os campos na caixa de diálogo Criar Tabela correspondam aos exibidos acima e clique em OK. O IDE gera a tabela  ``Assunto``  no banco de dados e você pode ver um novo nó da tabela  ``Assunto``  (image:images/table-node.png[]) imediatamente exibido sob as Tabelas no Explorador do Banco de Dados.

== Trabalhando com os Dados da Tabela

Para trabalhar com dados da tabela, você pode usar o Editor SQL no NetBeans IDE. Ao executar consultas SQL em um banco de dados, você pode adicionar, modificar e deletar dados mantidos em estruturas de bancos de dados. Para adicionar um novo registro (linha) à tabela  ``Consultor`` , faça o seguinte:

1. Escolha Executar Comando da pasta Tabelas no Explorador do Banco de Dados. Uma tela em branco é aberta no Editor SQL na janela principal.
2. No Editor SQL, digite a seguinte consulta.

[source,sql]
----
INSERT INTO Counselor
VALUES (1, 'Ricky', '"The Dragon"', 'Steamboat','334 612-5678', 'r_steamboat@ifpwafcad.com', '1996-01-01')
----

[start=3]
. Para executar a consulta, clique com o botão direito do mouse no Editor SQL e escolha Executar Instrução. Na janela de Saída, você pode ver uma mensagem indicando que a consulta foi executada com êxito.
. Para verificar se o novo registro foi adicionado à tabela  ``Consultor`` , no Explorador do Banco de Dados, clique com o botão direito do mouse no nó da tabela  ``Consultor``  e escolha Exibir Dados. Um novo painel Editor SQL é aberto na janela principal. Quando você escolhe Exibir Dados, é gerada automaticamente na região superior do Editor SQL uma consulta para selecionar todos os dados da tabela. Os resultados da instrução são exibidos em uma view em tabela na região inferior. Neste exemplo, a tabela  ``Consultor``  é exibida. Observe que uma nova linha foi adicionada com os dados que você acabou de fornecer da consulta SQL.

image::images/sql-results.png[]


== Executando um Script SQL

Outra forma de gerenciar dados de tabela no NetBeans IDE é executar um script SQL externo diretamente no IDE. Se foi criado um script SQL em qualquer outro lugar, será possível simplesmente abrí-lo no NetBeans IDE e executá-lo no Editor SQL.

Com a finalidade de demonstração, faça download do link:https://netbeans.org/project_downloads/samples/Samples/Java%20Web/ifpwafcad.sql[+ifpwafcad.sql+] e salve-o no computador. Este script cria duas tabelas similares às que você acabou de criar acima ( ``Consultor``  e  ``Assunto`` ) e preenche-as imediatamente com dados.

Como o script sobrescreve essas tabelas se elas já existirem, delete as tabelas  ``Consultor``  e  ``Assunto``  agora para que fique óbvio que novas tabelas são criadas quando o script é executado. Para deletar tabelas:

1. Clique com o botão direito do mouse nos nós de tabela  ``Consultor``  e  ``Assunto``  no Explorador do Banco de Dados e selecione Deletar.
2. Clique em Sim na caixa de diálogo Confirmar Exclusão de Objeto. Observe que essa caixa de diálogo lista as tabelas que serão deletadas.

Quando você clica em Sim na caixa de diálogo Confirmar Exclusão de Objeto, os nós de tabela são automaticamente removidos do Explorador do Banco de Dados.

Para executar o script SQL em  ``MyNewDatabase`` :

1. Escolha Arquivo > Abrir Arquivo no menu principal do IDE. No browser de arquivos, vá para o local onde você salvou  ``ifpwafcad.sql``  anteriormente e clique em Abrir. O script se abre automaticamente no Editor SQL.
2. 
Certifique-se de que a conexão com  ``MyNewDatabase``  esteja selecionada na caixa drop-down Conexão na barra de ferramentas na parte superior do Editor.

image::images/connection-drop-down.png[]

[start=3]
. Clique no botão Executar SQL (image:images/run-sql-button.png[]) na barra de tarefas do Editor SQL. O script é executado no banco de dados selecionado e qualquer feedback é gerado na janela de Saída.
. Para verificar as alterações, clique com o botão direito do mouse no nó da conexão de  ``MyNewDatabase``  na janela Runtime e escolha Atualizar. A opção Atualizar atualiza o componente UI do Explorador do Banco de Dados para o status atual do banco de dados especificado. Observe que as duas novas tabelas do script SQL agora são exibidas como nós de tabela em  ``MyNewDatabase``  no Explorador do Banco de Dados.
. Escolha Exibir Dados do menu de contexto de um nó de tabela selecionada para ver os dados contidos nas novas tabelas. Dessa maneira, você pode comparar os dados tabulares com os dados contidos no script SQL para ver se eles coincidem.
link:/about/contact_form.html?to=3&subject=Feedback:%20Connecting%20to%20a%20MySQL%20Database[+Envie-nos Seu Feedback+]



== Consulte Também

Isto conclui o tutorial Estabelecendo Conexão um Banco de Dados MySQL. Este documento demonstrou como configurar o MySQL no computador e definir uma conexão com o servidor de banco de dados do NetBeans IDE. Ele também descreveu como trabalhar com o MySQL no Explorador do Banco de Dados do IDE criando novas instâncias de bancos de dados e tabelas, preenchendo tabelas com dados e executando consultas SQL.

Para tutoriais relacionados e mais avançados, consulte os seguintes recursos:

* link:../../docs/web/mysql-webapp.html[+Criando uma Aplicação Web Simples Usando um Banco de Dados MySQL+]. Um tutorial de acompanhamento que demonstra como criar uma aplicação Web simples de duas camadas no IDE usando o banco de dados MySQL que você acabou de criar.
