Please enable JavaScript.
Coggle requires JavaScript to display documents.
MySQL - Coggle Diagram
MySQL
Comandos
Create
database
create database DBNAME default character set utf8 default collate utf8_general_ci
table
create table TBNAME ( COLUMN datatype CONSTRAINT, ... , PRIMARY KEY(column_name) ) default charset = utf8;
Drop
drop database DBNAME / drop table TABLE_NAME
Deletar tabelas e Databases inteiras
Constraints
NOT NULL
Não aceita mão receber valor
DEFAULT 'string_x'
Se nenhum valor for enviado, preenche com o valor padrão
auto_increment
Gera automaticamente IDs diferentes 1,2,3...
UNIQUE
Não deixa 2 registros de mesmo valor
UNSIGNED
Sem sinal, módulo do número
Insert
insert into TABLE_NAME( col_1 , col_2 , ... ) values ( val_1, val_2 , ... ), ( val_1, val_2 , ... ), ...
Outros
Describe
desc TABLE_NAME
Descreve as colunas da tabela
Mostrar
select * from table_name
Editar Estrutura
Adicionar / Remover coluna
Alter table TABLE_NAME drop column COL_NAM
Alter table TABLE_NAME add column COL_NAME datatype constraint
Editar Coluna
alter table TABLE_NAME modify column COLUMN_NAME datapype constraint etc
Especificar Chave Estrangeira
Alter table TABLE_NAME add foreign key (COL_NAME)
References FOREIGN_TABLE( FOREIGN_COLUMN )
Editar Registros
Update
Update TABLE_NAME set COL_X = VAL_X , COL_Y = VAL_Y where PRIM_KEY = VAL_K
Update table, set value, specify where
limit 4
Altera no máximo 4 registros / linhas
Atualiza valores de um registro
Delete
delete from TABLE_X where COL_Y = Y
Deleta um registro
Truncate
truncate table TABLE_X
Limpa a a tabela, deleta todos os registros
Select
select COLUMNS from TABLE
order by COLUMN ( desc / asc )
where FILTER
Filter
COLUMN =,>,!=, etc
COLUMN between X and Y
COLUMN in (X,Y,Z)
Filtra só valores com a valores = X Y ou Z na coluna em questão
and / or / not
ex: where ano>2010 and/or not id >10
like
where COLUMN like 'curso%'
caracteres coringa
% = quaisquer caracteres ou nada
_ = quaisquer caracteres, desde haja algo
Funções de agregação
select count(*) where FILTER
Retorna a quantidade de registros que passam pelo filtro
select distinct COLUMN
Não puxa registros com valores repetidos, apenas o primeiro de cada valor
select max/min(COLUMN)
Retorna valor máximo / mínimo da coluna dentre os registros
Funcionam em conjunto com WHERE e todas as outras funções e filtros
select sum(COLUMN)
Retorna soma dos valores da coluna
select avg(COLUMN)
Retorna média dos valores da coluna
group by COLUMN having FILTER
Funções de Agrupamento
Transforma múltiplos registros em apenas 1, possibilita usar funções de agregação em cada grupo separadamente
Having é como "where" mas para os agrupamentos
select COL_X, count(*) from TABLE group by COL_X
Retorna grupos e contagem de registros de cada um
No lugar de count() poderia estra qualquer função de agregação
Banco de dados Relacional
Diferentes tabelas que se relacionam uma a outra por meio de atributos em comum (um id)
Database normalizada
Sem redundância, sem repetições da mesma informação isoladamente em diferentes locais, causando possíveis inconsistências
Banco de dados > Tabelas > Registros
Tipos de dados
strings
text(n)
varchar(n)
char(n)
enum(A,B) ou set(A,B)
Só aceita valores A ou B
date
year-month-day 2 / ex: 2002-05-17
números
decimal( n1,n2 )
n1 = casas totais, n2 = casas depois da vírgula (usar '.' na hora de inseirir)
SQL
Linguagem de navegação pelo banco de dados
Join
Junção de tabelas