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:
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;
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.
Objetivo e bem didático, obrigada pelo material!
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. 😉
GOSTEI MUITO MAS MEU PROFESSOR DANIEL É UM MERDA E NÃO ENSINA NADA DIREITO.
melhor aprender por conta kkkk
Obrigado!
Obrigada, foi muito útil!!
muito obrigado pelas dicas, me ajudou demais. Sucesso
Parabéns pelo excelente conteúdo. Foi muito útil para mim.
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.
ME ajudou muito. Obrigado
Gostei muito das explicações, me ajudou bastante.
Parabens pelo tempo e dedicacao
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
Ótimo post, muito obrigada!
Preciso criar um BD que tenha as seguintes características, cliente, produto, logistca e transporte nem sei como começar
Sugiro ler mais, fazer um curso etc. antes de 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 .
muito bom me ajudou bastante. parabéns!!!
show de bola maluko!
nossa, muita obrigada. Arrazo !!! me ajudou muiiito. Parabéns
Obrigado, foi muito claro e ajudou bastante.
[…] MySQL: comandos básicos […]
VLW AJUDO PRA CARAMBA ;D