Skip to content

Instantly share code, notes, and snippets.

@candidosouza
Last active March 6, 2017 16:42
Show Gist options
  • Save candidosouza/d878552ef714e515ab17802b538fb9c1 to your computer and use it in GitHub Desktop.
Save candidosouza/d878552ef714e515ab17802b538fb9c1 to your computer and use it in GitHub Desktop.

#mysql

entrar no mysql e digitar a senha

mysql -uroot -p

entrar no mysql sem precisar digitar a senha

mysql -uroot -p<senha>

ver os banco de dados

show databases;

criar um baco de dados

create database <nome-do-banco>;

usar a banco de dados

use <nome-do-banco>;

ver tabelas

show tables;

criar uma tabela

create table <nome-da-tabbela> (id int auto_increment primary key, <coluna-valor> double, <coluna-data> date, <coluna-recebido> boolean, <coluna-observacoes> varchar(255), <coluna-forma_pagt> enum('cartao', 'boleto', 'dinheiro') default 'cartao');

ver a tabela

desc <nome-da-tabela>;

##importando de um arquivo

mysql -u root -p <nome-do-banco> < arquivo.sql;

##Alter table

alterar o nome da tabela

alter table <nome-do-banco>.<nome-da-tabela> rename to <nome-do-banco>.<novo-nome-da-tabela>;

inserir coluna na tabela

alter table <nome-do-banco> add column <nome-da-coluna> varchar(255) null after <nome-do-campo>;

alterar uma coluna (CHANGE)

alter table <nome-do-banco> change <nome-da-coluna> <novo-nome-da-coluna> varchar(255) null;

alterar atributos de uma coluna (MODIFY)

alter table <nome-do-banco> modify <nome-da-coluna> varchar(255) not null;

excluindo uma coluna

alter table <nome-do-banco> drop <nome-da-coluna>;

##Insert e select

inserindo dados na tabela

insert into <nome-da-tabela> (valor, data, recebido, observacoes) values (1500.0, '2017-02-20', 1, 'Observaçoes');

ver (selecionar) a tabela

select * from <nome-da-tabela>;

selecionar partes da tabela

select <campo-um>, <campo-dois> from <nome-da-tabela>;

selecionar uma coluna vazia (NULL)

select * from <nome-da-tabela> where <nome-do-campo> is null;

selecionar com operações

select <campo-valor> * 10 from <nome-da-tabela>;
select <campo-valor> + 1 from <nome-da-tabela>
select <campo-valor> - 77 from <nome-da-tabela>;
select <campo-valor> / 2 from <nome-da-tabela>;

filtrando (where)

select <campo-valor> from <nome-da-tabela> where <campo-valor> > 1000;

com boolean (and)

select <campo-valor>, <campo-data> from  <nome-da-tabela> where <campo-valor> > 1000 and <campo-data> < '2017-02-21';

com boolean (or)

select <campo-valor>, <campo-data> from  <nome-da-tabela> where <campo-valor> > 1000 or <campo-data> < '2017-02-21';

com boolean (or e and)

select * from <nome-da-tabela> where (valor >= 1000 and <= 3000) or (valor > 5000);

com between (maior ou igual, menor ou igual)

select * from <nome-da-tabela> where valor between 1000 and 3000;
select * from <nome-da-tabela> where valor between 1000 or 3000;

igual

select * from <nome-da-tabela> where <campo-valor> = 1500;

diferente

select * from <nome-da-tabela> where <campo-valor> <> 1500;

contém

select * from <name-da-tabela> where <compo-observacoes> like '%alguma coisa%';

#Update e exclude

Atualizando

update <nome-da-tabela> set <nome-da-coluna> = 7777777 where id = 7;
update <nome-da-tabela> set <nome-da-coluna> = 7777777, <nome-da-coluna> = 7777777, <nome-da-coluna> = 7777777 where id = 7;

Deletando

delete from <nome-da-tabela> where id = 7;

#Agregação

sum()

select sum(<nome-da-coluna>) from <nome-da-tablema>;

sum() c/ condições

select sum(valor) from compras where data > '2010-01-01';

count()

select count(valor) from compras;

sum() c/ count()

select sum(valor), count(valor) from compras;

apelidando as (criando um alias) colunas com sum() e count()

select sum(valor) as total, count(valor) as qtd from compras;

group by

select <nome-coluna-agrupar>, sum(<coluna-a-ser-somada>) as <alias-da-coluna> from <nome-da-tabela> group by <nome-coluna-agrupar>;

ex:

select recebido, sum(valor) as total from compras group by recebido;

data = month, year e sum

select month(<coluna-da-data>), year(<coluna-da-data>), sum(<coluna-a-ser-somada>) from <nome-da-tabela> group by month(<coluna-da-data>), year(<coluna-da-data>) oder by year(<coluna-da-data>);

ex:

select month(data) as mês, year(data) as ano, sum(valor) as total from compras group by month(data), year(data) order by month(data), year(data);

média

select avg(<nome-da-coluna>) from <nome-da-tabela>;

Relacionamentos

select

select <nome-do-campo> from <nome-da-tabela> inner join <nome-da-tabela-de-relacionamento> on <nome-da-tabela>.<coluna-de-relacionamento> = <nome-da-tabela-de-relacionamento>.id;

ex:

select observacoes, valor, nome from compras join compradores on compras.comprador_id = compradores.id;

**adicionando chave estrangeira na tabela

alter table <nome-da-tabela> add foreign key (<nome-da-coluna>) references <nome-da-tablea-de-relacao>(id);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment