Categories
Banco de dados Tutoriais

MySQL: comandos básicos

Introdução aos comandos básicos do servidor de bancos de dados MySQL para iniciantes.

O objetivo deste post é introduzir os primeiros conceitos, de forma bem objetiva e com exemplos práticos, a quem está tendo o seu primeiro contato com o MySQL ou precisa apenas de uma referência rápida sobre como lidar com criação/remoção de bancos de dados, tabelas e registros, entre outras tarefas básicas.

Se quiser, use o Ctrl+D, para colocar esta página nos marcadores — para encontrá-la mais rápido, depois! 😉

No decorrer do texto, há links para outros posts, em que os comandos são abordados com maior profundidade, se você quiser.

NOTAS
  • Não esqueça de sempre terminar o comando com um ‘;’ (ponto e vírgula), ou ele não funcionará;
  • Tenha em mente o limite de 64 caracteres para nomes de bancos de dados;
  • Para evitar problemas ao mover dados entre servidores de diferentes sistemas operacionais use apenas letras minúsculas, alfanuméricas e underscores nos nomes dos bancos e das tabelas;
  • E, sim, você pode escrever tudo em letras minúsculas – tanto os comandos, como as variáveis. O cliente MySQL não é sensível à caixa das letras. Este tutorial as usa apenas para tornar mais fácil a leitura e a compreensão.

Comandos MySQL

Após a instalação completa do MySQL, alguns programas, que fazem parte do pacote, ajudam a conectar ao servidor e a realizar todas as tarefas administrativas. O cliente mysql é o principal deles e é nele que este artigo manterá o foco.

Quer aprender mais sobre Linux? Então se inscreva na minha newsletter, para receber notificações de posts sobre o sistema operacional do pinguim:

[jetpack_subscription_form show_subscribers_total=”false” button_on_newline=”false” custom_font_size=”16px” custom_border_radius=”0″ custom_border_weight=”1″ custom_padding=”15″ custom_spacing=”10″ submit_button_classes=”has-background has-primary-background-color” email_field_classes=”” show_only_email_and_button=”true”]

Como conectar ao MySQL

Conecte-se ao servidor MySQL com o seguinte comando:

mysql -h NOME-DO-SERVIDOR -u NOME-DO-USUARIO

Após dar o comando, o sistema vai pedir a sua senha de usuário.
Dica: Se você instalou o MySQL no seu próprio PC, pode usar localhost no lugar de NOME-DO-SERVIDOR.
No exemplo, a seguir, veja como se conectar como root:

mysql -u root -p

Se não foi você quem fez a instalação, pode precisar contatar o administrador do banco de dados para saber que valores usar para conectar ao servidor MySQL.

Em servidores remotos, você provavelmente precisará usar o SSH para se conectar ao MySQL.

Como criar um banco de dados no MySQL

O comando para criar um banco de dados é este:

CREATE DATABASE nome-do-banco;

Para ver todos os bancos de dados existentes no servidor:

SHOW DATABASES;

Em um exemplo prático, a criação do banco de dados testes, ficaria assim:

CREATE DATABASE testes;

Você pode exibir os bancos de dados criados, através do comando SHOW:

SHOW DATABASES;

Antes de criar uma tabela ou realizar qualquer operação, é necessário selecionar o banco de dados que vai ser usado:

USE testes;

Como criar uma tabela no MySQL

Como já foi dito, antes de criar uma tabela, você precisa indicar o banco de dados a ser usado – dentro do qual vai criar uma tabela. Que tal usarmos o exemplo do tópico anterior?

USE testes;

Agora, vamos criar uma tabela dentro dele, com o nome clientes:

CREATE TABLE `clientes` (
  `idCliente` mediumint(8) unsigned NOT NULL auto_increment,
  `nomeEmpresa` varchar(255),
  `nomeDiretor` varchar(255) default NULL,
  `numEmpregados` mediumint default NULL,
  PRIMARY KEY (`idCliente`)
) AUTO_INCREMENT=1;

Você pode pedir pro sistema exibir todas as tabelas presentes no banco de dados selecionado:

SHOW tables;

Para obter informações sobre uma tabela, você pode usar o comando DESCRIBE ou DESC:

DESCRIBE clientes;

Como inserir mais dados em uma tabela

Vamos “povoar” mais a nossa tabela com alguns dados:

INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (1,"Malesuada Inc.","Johnny Pedd",4847);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (2,"Aliquam Inc.","Al Capino",4135);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (3,"Union Carbide","Robert Ne Diro",3755);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (4,"Magna Carta Ltda.","Wenzel Dashington",3071);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (5,"Nunc Corp.","",3859);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (6,"In Company","Macaulay Bulkin",4440);

Lembra que o campo idCliente foi criado com o parâmetro auto_increment. Seu preenchimento é automático. Você não precisa informar o seu valor, portanto:

INSERT INTO `clientes`
(`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`)
VALUES ('',"GameCorp.","Din Viesel",2071);

Como ver os registros na tabela com o comando SELECT

Tal como o nome sugere, o comando SELECT seleciona e exibe os registros gravados na tabela.
A maneira mais simples de usá-lo é essa:

SELECT * FROM clientes;

Você pode refinar a pesquisa de inúmeras maneiras.
Se quiser ver apenas o conteúdo dos campos id_cliente e nome_empresa, use-o assim:

SELECT id_cliente, nome_empresa FROM clientes;

Como remover um registro de uma tabela

A sintaxe do comando para apagar um registro é:

DELETE FROM nome-da-tabela WHERE nome-da-coluna=texto;


Veja um exemplo prático de uso do comando DELETE:

DELETE FROM clientes WHERE nomeEmpresa = 'GameCorp';

Com este comando, TODOS os registros que tiverem nomeEmpresa = 'GameCorp' serão eliminados. Neste caso, há apenas 1. Mas vamos imaginar que houvesse 10 ou 100 registros em que o nomeEmpresa fosse igual a GameCorp. Neste caso, seria necessário usar outro campo como referência para encontrar o registro que eu desejo eliminar. No nosso caso, há o campo idCliente, que é único – ele não se repete dentro da tabela:

DELETE FROM clientes WHERE idCliente = 7;

Como remover uma tabela ou um banco de dados

Seja cuidadoso(a). O comando DROP apaga permanentemente uma tabela ou um banco de dados. Veja como usar o DROP para eliminar uma tabela:

DROP TABLE nome-da-tabela;

ou, como remover um banco de dados:

DROP DATABASE nome-do-banco;

Como limpar uma tabela

Para limpar uma tabela, use o comando TRUNCATE. Internamente, ele remove a tabela primeiro e, depois, a recria com a mesma estrutura – só que sem os dados. Se houver um contador AUTO_INCREMENT, na tabela em questão, ele é zerado e recolocado. Veja como funciona:

TRUNCATE TABLE nome-da-tabela;

Como alterar um registro no MySQL

Aqui, o comando UPDATE entra em ação. Vamos ver como usá-lo para alterar o valor de um campo dentro de um registro:

UPDATE clientes SET numEmpregados=1999 WHERE idCliente = 1;

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

29 replies on “MySQL: comandos básicos”

Valeu pelo tutorial.

O campo auto incrementado com AUTO_INCREMENT deve ser alimentado com NULL ou 0 e não com ”.

Correto: INSERT INTO clientes (idCliente, nomeEmpresa, nomeDiretor, numEmpregados) VALUES (NULL, “GameCorp.”, “Din Viesel”, 2071);

Pelo menos para a versão 8 do MySQL. Em versões mais antigas as aspas ” funcionam.

Olá, tenho uma pergunta a fazer, como se adiciona um campo eliminado?
Tenho um trabalho da escola para fazer, mas não sei como isso se faz

Olá, sou iniciante em MySQL, venho estudando outras ferramentas como HTML, JAVASCRIPT E JAVA. Mas gostaria da opinião de um conhecedor como você: de que maneira mais clara e objetiva devo conhecer, estudar esses comandos para a prática e não ficar perdido ao construir um banco de dados, pesquisas ou até quando e se houver um trabalho para uma consultoria.

Eu recomendo fazer um curso de MySQL. Os artigos deste site são mais voltados a resolver problemas na medida em que aparecem. A maioria dos meus textos surgiu desta forma: tive um problema, descobri como resolver e escrevi o artigo. 😉

O mysql para inserir valores, por exemplo varchar não utiliza aspas duplas isso é errado o certo é aspas simples. Fique ligado nessa dica.
VALUES (”,”GameCorp.”,”Din Viesel”,2071) <– errado
VALUES ('GameCorp','Din Viesel',2071) <– Certo

também da certo, manter aspas dupla em variável definida como varchar.

O meu deu certo pelo menos no MySQL.

Post, Nota 100000!
Obrigada, por postar um conteúdo tão esclarecedor e mega bem explicado!

Obrigado por postar um conteúdo esclarecedor e bem explicado, felicidades man

Preciso criar um BD que tenha as seguintes características, cliente, produto, logistca e transporte nem sei como começar

Prezado Elias, ai que está o problema estou fazendo essa disciplina no curso de Engenharia e o professor não é lá essas coisas.
ex:

Boa apresentação para quem esta começando, so porque não colocou a forma de deleção em cascata supondo que tenho cadastro de 1 pessoa e seus dependentes e ela sai além de eliminar os dados dela terá que eliminar os do dependentes tambem sendo mais trabalhoso ON DELET CASCATE apagaria todos os dados .

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.