#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>;
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);