Skip to content

Folha de dicas de comandos comuns do MySQL

O MySQL é o sistema de gestão de bases de dados relacionais de código aberto mais popular do mundo. Esta folha de dicas organiza os comandos SQL mais utilizados no desenvolvimento e manutenção diário de bases de dados.

Ligação e Gestão

Comando Descrição Exemplo
mysql -u root -p Ligar à base de dados como utilizador root mysql -u root -p
exit / quit Sair da linha de comandos do MySQL exit
show databases; Listar todas as bases de dados show databases;
use <db_name>; Mudar para a base de dados especificada use my_app;
status; Visualizar informações do estado da ligação atual status;

Operações de Base de Dados e Tabelas (DDL)

Comando Descrição Exemplo
create database <name>; Criar nova base de dados create database test_db;
drop database <name>; Eliminar base de dados drop database test_db;
show tables; Listar todas as tabelas na base de dados atual show tables;
create table <table> (...); Criar uma nova tabela create table users (id int, name varchar(20));
describe <table>; Visualizar estrutura da tabela describe users;
alter table <table> add <col>; Adicionar uma nova coluna alter table users add email varchar(50);
drop table <table>; Eliminar tabela drop table users;

Operações de Dados (DML)

// Inserir dados

insert into users (name, age) values ('Alice', 25), ('Bob', 30);

// Consultar dados

select * from users where age > 20 order by id desc limit 10;
select count(*) from users;

// Atualizar dados

update users set age = 26 where name = 'Alice';

// Eliminar dados

delete from users where id = 10;
truncate table users; -- Limpar conteúdo da tabela e repor ID de auto-incremento

Consultas de Junção (JOIN)

Type Descrição
INNER JOIN Retorna linhas com valores correspondentes em ambas as tabelas
LEFT JOIN Retorna todas as linhas da tabela esquerda e as linhas correspondentes da direita
RIGHT JOIN Retorna todas as linhas da tabela direita e as linhas correspondentes da esquerda
UNION Combinar resultados de duas consultas (únicos)

// Consulta de junção de tabelas

select u.name, o.id from users u 
inner join orders o on u.id = o.user_id;

Gestão de Índices

Comando Descrição
create index <idx_name> on <table>(<col>); Criar um índice normal
create unique index ... Criar um índice único
show index from <table>; Mostrar índices na tabela
drop index <idx_name> on <table>; Eliminar índice

Utilizadores e Permissões (DCL)

Comando Descrição
create user 'user'@'host' identified by 'pass'; Criar um novo utilizador
grant all privileges on db.* to 'user'@'host'; Conceder permissões
revoke all on db.* from 'user'@'host'; Revogar permissões
drop user 'user'@'host'; Eliminar utilizador
flush privileges; Atualizar permissões para entrarem em vigor