Você está na página 1de 6

MySQL

Manipulao de base de dados


Cria a base de dados: create database [if not exists] <nome>;
Mostra as BD existentes: show databases;
Coloca uma BD em uso: use <nome>;
Elimina uma BD: drop database <nome>;

Criao de tabelas
Cria a tabela: create [temporary] table [if not exists] <tabela>
( [campo] [tipo] );
[temporary] - indica que a tabela criada ser temporria, o que significa que
ela expira assim que a sua sesso do MySQL terminar;
[if not exists] - verifica a prvia existncia da tabela e evita uma interrupo do
script, causada por erro;
[campo] - nome do campo;
[tipo] - integer, varchar(n caracteres), char(n caracteres), decimal(10, n
casas decimais), int(n digitos), date, auto_increment, not null, primary key.
Mostra as tabelas da BD em uso: show tables;
Mostra a estrotura da tabela: describe <tabela>;
Mostra a estrotura de um campo: describe <tabela> <campo>;

Insero de registos
Inserir registos pelo comando load: load data local infile insere.txt into
<tabela>;
Inserir registos pelo comando insert: insert into <tabela>
([campo])
values ([valor]);

Consulta de registos
Consulta de registos: select [tipo] <campos> from <tabela> [condio];
[tipo] - all: todos os registos;
distinct: registos distintos;
<campos>

uma lista dos campos, separada por vrgula;


*: mostra todos os campos;

[condio] - dada por outras clusulas: where, order by, etc.

Alterao de registos
Alterao de registos: update <tabela> set <campo> = <expresso>
[condio];
A mesma instruo update pode alterar vrios campos do registo.
<campo> - nome da coluna da tabela que se dejesa atualizar;
<expresso> - valor que se deseja atribuir ao campo;
[condio] - dada pela clusula where.

Eliminao de registos
Eliminao: delete from <tabela> [condio];
[condio] - dada pela clusula where (se esta clusula for omitida, feita a
eliminao de todos os registos da tabela).

Alterao da estrotura da tabela


alter table <tabela> <operao>;
<operao> - add <campo> <tipo>:insere uma nova coluna <campo>
com o <tipo> de dados;
drop <campo>: elimina um campo da tabela.

Ordenao de um campo da tabela


Order by <campo> asc ou desc
Por defeito, ordena sempre por ordem ascendente.

Operadores aritmticos
select <campo>, <campo> [operao] [valor] from <tabela>;
Operador

Operao

Tipo

Resultado

Manuteno de sinal

Operador aritmtico

Positivo

Inverso de sinal

Operador aritmtico

Negativo

power(x,n)

Exponenciao xn

Funo

Real

sqrt(x)

Raiz quadrada

Funo

Real

power(x,(1/n))

Raiz de ndice qualquer nx

Funo

Real

div

Diviso com quociente inteiro

Operador aritmtico

Inteiro

mod(x,n)

Resto da diviso x/n

Funo

Inteiro

Diviso com quociente real

Operador aritmtico

Real

Multiplicao

Operador aritmtico

Inteiro / Real

Adio

Operador aritmtico

Inteiro / Real

Resdo de diviso

Operador aritmtico

Inteiro

Operadores de comparao ou relacionais


select * from <tabela> where <campo> [operador] [valor];
Operador

Descrio

>

Maior do que

<

Menor do que

Igual a

<> ou !=

Diferente de

>=

Maior ou igual a

<=

Menor ou igual a

<=>

Igual para null

Operadores lgicos
select * from <tabela> where (<condio1>) [operador] (<condio2>);
Operador

Descrio

and ou &&

E -conjuno

or ou ||

Ou - disjuno

not ou !

No - negao

xor

Ou - exclusivo

Operadores adicionais
select * from <tabela> where <campo> [operador] [valor];
Operador

Descrio

is null

Verifica se um campo est vaziu

between

Verifica se um valor est dentro de um intervalo

in

Verifica se um valor est num conjuntp de valores

Like [caracter]

Procura valores semelhantes

[caracter] - %: significa qualquer quantidade de caracteres combinados;


_: significa apenas um caracter igual.
select * from <tabela> where <campo> like [caracter];

Funes de agregao ou estatstica


select [funo(<campo>)] from <tabela> [condio];
<campo> - pode ser substtuido por * para apresentar todos;
[condio] - dada pela clusula where.
Funo

Retorna

avg()

Mdia aritmtica

count()

Quantia de registos

max()

O maior valor

min()

O menor valor

std() ou stddev()

O desvio padro

sum()

Soma dos valores

variance()

Varincia

Funes de data e hora


select <campo>, funo(<condio>) from <tabela>;
<condio> - condio pretendida
Funo

Retorna

curdate()

Data atual

curtime()

Hora atual

datediff()

Diferena entre duas datas

day()

O dia de uma data

hour()

A hora de um campo hora

minute()

Os minutos de um campo hora

month()

O ms de uma data

monthname()

O nome do ms de uma data

now()

Data e hora atual

second()

Os segundos de um campo hora

year()

O ano de uma data

Funes numricas
select funo(<condio>);
<condio> - condio pretendida
Funo

Retorna

abs()

Valor absoluto

acos(), asen(), atan()

Arco de cosseno, de seno ou de tangente

cos(), sen(), tan()

Cosseno, seno ou tangente

degrees()

Converte radianos para graus

exp()

Exponencial

ln()

Logaritmo natural

mod()

Resto de uma diviso de inteiros

pi()

Valor de Pi

power()

Potncia de uma base elevada a um expoente

radians()

Converte graus para radianos

round()

Arredonda

sqrt()

Extrai a raiz quadrada

Funes de tratamento de strings


select funo(<condio>);
<condio> - condio pretendida
Funo

Retorna

ascii()

Cdigo ASCII da string

bin(), oct(), hex()

Converte decimal para binrio, octal ou hexadecimal

concat()

Concatena strings

lower(), upper()

Converte para minsculas ou maisculas

left()

Parte do lado esquerdo da string

length()

Tamanho da string

Agrupamentos
Utiliza-se a clusula group by dentro da instruo select. A clusula having
permite selecionar valores em campos agregados, sendo diferente da clusula
where, que permite a seleo de valores em colunas no agregadas.
select <campo>, funo(<condio>) from <tabela> group by <campo>;
select <campo>, funo(<condio>) from <tabela> having
[funo(<campo>) <condio>];

Você também pode gostar