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-incrementoConsultas 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 |