Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Este material foi produzido com base nos livros e documentos citados abaixo, que
possuem direitos autorais sobre o contedo. Favor adquiri-los para dar continuidade ao
curso.
Livro: Desenvolvendo Websites com PHP
Apostila da Diviso de Servios Comunidade Centro de Computao Unicamp
mysql
> create database bdteste;
> use bdteste;
mysql u username p
O primeiro parmetro deve ser o caminho onde o mysql est localizado. A opo u
indica que ser digitado o nome de usurio e a opo p indica que ser digitado a senha
(password) para conexo.
Tipo Descrio
Tinyint[(M)] Inteiro pequeno. Varia de 128 at +127
Bit, bool, boolean Sinnimo de tinyint.
Smallint [(M)] Inteiro variando de 32768 at +32767.
Mediumint [(M)] Inteiro variando de 8388608 at
+8388607
Int [(M)] Inteiro normal, variando de 2147483648
at +2147483647
Bigint [(M)] Inteiro grande, variando de
9223372036854775808 at
+9223372036854775807
Float(preciso) Ponto flutuante com preciso definida
Float [(M,D)] Ponto flutuante de preciso simples
Double [(M,D)] Ponto flutuante normal
Real [(M,D)] um sinnimo para double
1
Decimal [(M,D)] Esse tipo pode ser usado como uma string.
Cada nmero corresponde a um caractere.
Date Armazena uma data no formato yyy-mm-
dd. Pode variar de 1000-01-01 at 9999-
12-31
Datetime Armazena data e hora. O intervalo
suportado de 1000-01-01 00:00:00 at
9999-12-31 23:59:59
Timestamp [(M)] Armazena a data em formato=padro
UNIX
Time Armazena um tempo.
Year [(2|4)] Armazena um ano com 2 ou 4 dgitos
Char (M) String de tamanho fixo
Varchar (M) String de tamanho varivel. Possui no
mximo 255 caracteres
Tinytext Texto contendo at 255 caracteres
text Texto com at 65535 caracteres
Observaes:
- M representa o tamanho mximo para exibio
- D representa o nmero de dgitos aps o ponto decimal
- Os colchetes indicam as partes opcionais
Significado:
nome_tabela: representa o nome da tabela que ser criada. No pode haver nomes de
tabelas repetidos.
nome_campo: representa o nome pelo qual o campo ser referenciado.
tipo_de_dado: deve ser substitudo por um dos tipos aceitos pelo banco de dados.
NULL|NOT NULL: define se o campo pode aceitar valores nulos ou no.
DEFAULT: define um valor padro para inseres na tabela. Esse valor ser utilizado
se nenhum valor para este campo for informado.
Exemplo: Criao de tabelas para um loja virtual. As seguintes tabelas sero criadas
produtos, categorias e subcategorias.
2
cod_subcategoria smallint NOT NULL,
adicionais text
);
show tables;
Voc ver uma tela com os nomes dos campos, o tipo, se aceitam valores NULL, os
valores-padro e outras caractersticas da tabela consultada.
Sintaxe:
No primeiro caso, os valores digitados no lugar de valor1, valor2, ..., valorn sero
includos na mesma ordem em que foram definidos os campos no momento da criao
da tabela. Os valores numricos no devem ser delimitados por aspas. J os dados do
tipo char, varchar, date e outros devem ser delimitados por aspas simples.
No segundo caso, os valores valor1, valor2, ..., valorx sero inseridos nos campos
campo1, campo2, ..., campox da tabela. Os campos no listados recebero o valor
3
NULL ou um valor padro (caso exista). Se os campos no listados foram criados com
NOT NULL ento ocorrer um erro na execuo do comando.
Exemplo:
Comando UPDATE:
Realiza alteraes nos valores dos registros da tabela. Sintaxe:
UPDATE <nome_tabela>
SET campo1=valor1 [, campo2=valor2, , campon=valorn]
[WHERE <condicoes>];
Exemplos:
4
ALTER TABLE <nome_tabela> RENAME TO <novo_nome_tabela>;
Exemplo:
Comando DELETE:
Esse comando exclui um ou mais registros de uma tabela.Sintaxe:
Caso a clusula WHERE no seja utilizada todos os registros da tabela sero excludos.
Exemplos:
Exemplo:
5
Comando SELECT:
Com este comando podemos selecionar todas as linhas de uma ou mais tabelas, ou
apenas uma parte delas. Sintaxe:
Exemplos:
O comando WHERE deve ser seguido por uma ou mais condies. Essas condies
podem conter os operadores de comparao >, <, >=, <=, =, e <>. Se houver mais de
uma condio a ser analisada, utilizamos os operadores lgicos AND e OR entre elas.
Quando for necessrio podemos utilizar o parnteses para determinar a ordem de
avaliao das expresses.
Exemplo:
O comando abaixo ir retornar o nome de todos os produtos que pertencem categoria
Artigos Esportivos e subcategoria Camisetas de Futebol ou retorna o nome dos
produtos que possuem o cdigo da subcategoria igual a 3, independentemente da
categoria.
Comando LIKE:
A linguagem SQL oferece o operador LIKE que utilizado para fazer consultas mais
complicadas. Com ele, pode-se descobrir por exemplo todos os produtos que comeam
6
com a letra E, ou todos que terminar com a letra A, ou todos que contenham a letra
O. Podemos tambm buscar por palavras dentro de um campo dos registros de uma
tabela.
Exemplo:
Pesquisa em uma tabela de veculos todos os carros que possuem o adicinal ar-
condicionado:
Formas de uso:
Operador Descrio
LIKE _E% A letra E est na segunda posio.
LIKE %O Termina com a letra O.
LIKE A%E%O Comea com a letra A, termina com a letra
O e possui a letra E no meio.
NOT LIKE %@% Retorna aqueles que NO contm o
caractere @. Podemos utilizar, por
exemplo, para verificar se existem e-mails
digitados incorretamente em um banco de
dados, j que o caractere @ deve existir
em todos os e-mails.
Comando COUNT:
Pode ser usado para contar o nmero de registros existentes na tabela.
Exemplo:
7
Comando SUM: (usada apenas para dados do tipo numrico)
Soma os valores de determinado campo de uma tabela.
Exemplo:
Comando MAX/MIN:
Retorna o registro que possui determinado campo de maior/menor valor.
Exemplo:
Exemplo:
Exemplo:
Para saber quantos produtos existem em cada uma das categorias, em vez de digitar um
comando com COUNT para cada uma, podemos fazer da seguinte forma:
Tambm pode ser utilizado com a opo HAVING que seleciona alguns registros
retornados pelo GROUP BY.
Exemplo:
8
Exemplo:
Opo DESC:
Ordenao decrescente dos resultados.
Exemplo:
Desta forma ser exibida a lista de CDs de 10 em 10 por pgina. Para mostrar o
resultado sempre na mesma ordem ao usurio necessrio usar a opo ORDER BY.
Opo OFFSET:
Utilizado em conjunto com o LIMIT para determinar a partir de qual registro a consulta
deve retornar.
Exemplo:
INSERT INTO tabela_precos SELECT nome_produto, preco FROM produtos WHERE
codigo_produto>=6 AND codigo_produto<=55;
9
CREATE TABLE produto(
codigo int NOT NULL AUTO_INCREMENT,
nome varchar(70) NOT NULL,
primary key(codigo)
);
O campo com numerao automtica deve ser declarado como chave primria da tabela
para evitar a gravao de chaves repetidas. E para inserir registros na tabela:
10