Linguagem de Programação III Banco de Dados com PHP
Conceitos de Banco de Dados - é uma coleção de dados interrelacionados, representando informações sobre um domínio específico - sempre que for possível agrupar informações que se relacionam e tratam de um mesmo assunto, posso dizer que tenho um banco de dados
Exemplos de Banco de Dados - lista telefônica - catálogo de filmes - funcionários de uma empresa
Sistemas Gerenciadores de Banco de Dados - SGBD é um software que possui recursos capazes de manipular as informações do banco de dados e interagir com o usuário - Exemplos: Oracle, SQL Server, DB2, PostgreSQL, MySQL, Access, Firebird, SQLite
Comparação MySQL e PostgreSQL MySQL PostgreSQL velocidade robustez bancos de dados grandes mais qualificado
Exemplo de Bancos de Dados Loja Virtual Produtos Categorias Subcategorias Código Código da categoria Código da subcategoria Nome Nome da categoria Nome da subcategoria Descrição Código da categoria a que pertence Preço Peso Categoria Subcategoria Inf. Adicionais
Criação de Bancos de Dados
Criação de Bancos de Dados
Criação de Bancos de Dados
create table produtos ( codigo_produto smallint NOT NULL, nome_produto varchar(80) NOT NULL, descricao_produto text, preco float NOT NULL, peso float, cod_categoria smallint NOT NULL, cod_subcategoria smallint NOT NULL, adicionais text );
Comando INSERT INSERT INTO table_name VALUES (value1, value2,...); INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,...);
Comando UPDATE UPDATE <nome_tabela> SET campo1=valor1, campo2=valor2,... WHERE <condições>; Exemplos UPDATE categorias SET codigo_categoria=6 WHERE codigo_categoria=5; UPDATE produtos SET cod_categoria=6 WHERE cod_categoria=5;
Comando ALTER TABLE ALTER TABLE <nome_tabela> ADD <nome_campo> tipo_de_dado; ALTER TABLE <nome_tabela> RENAME <nome_campo> TO <novo_nome>; ALTER TABLE <nome_tabela> RENAME TO <novo_nome_tabela>; Exemplo ALTER TABLE produtos ADD fabricante varchar(50);
Comando DELETE DELETE FROM <nome_tabela> WHERE <condições>; Exemplo DELETE FROM categorias WHERE nome_categoria='artigos Esportivos'; DELETE FROM produtos WHERE cod_categoria=3; DELETE FROM produtos;
Comando DROP TABLE DROP TABLE <nome_tabela1>, <nome_tabela2>, ; Exemplos DROP TABLE produtos, categorias, subcategorias; DROP DATABASE bdteste;
Comando SELECT SELECT <lista_campos> FROM <lista_tabelas> [WHERE <condições>]; Exemplos SELECT * FROM categorias; SELECT * FROM produtos; SELECT codigo_produto, nome_produto, preco FROM produtos;
Exemplos SELECT nome_produto FROM produtos WHERE preco>50; SELECT nome_produto FROM produtos WHERE cod_categoria=5 AND cod_subcatgegoria=2 OR cod_subcategoria=3; SELECT nome_produto FROM produtos WHERE cod_categoria=5 AND (cod_subcatgegoria=2 OR cod_subcategoria=3);
Exemplos SELECT codigo_produto, nome_produto FROM produtos WHERE cod_categoria=2 AND preco<100; SELECT nome_produto, preco FROM produtos WHERE cod_categoria=4 AND preco>=50 AND preco<=500; SELECT * FROM veiculos WHERE adicionais LIKE '%ar condicionado%'; SELECT nome_veiculo FROM veiculos WHERE nome_veiculo LIKE 'KADETT%';
Operador LIKE Operador LIKE '_E%' A letra E na segunda posição LIKE '%O' Termina com a letra O LIKE 'A%E%O' Começa com A, termina com O e tem E no meio NOT LIKE '%@%' Aqueles que não tem @. Serve para verificar se existem e-mails com @. Descrição
Transformação de strings em maiúsculas Curitiba CURITIBA CURitiba curitiba curitiba SELECT * FROM usuarios WHERE cidade='curitiba' OR cidade='curitiba' OR cidade='curitiba' OR cidade= 'curitiba' OR cidade='curitiba';
Transformação de strings em maiúsculas CURITIBA SELECT * FROM usuarios WHERE cidade='curitiba';
SELECT DISTINCT (cidade) FROM usuarios; SELECT COUNT (*) FROM produtos; SELECT COUNT (*) FROM produtos WHERE cod_categorias=1; SELECT SUM (preco) FROM produtos;
INSERT INTO subcategorias VALUES (1, 'Notebooks', 4); INSERT INTO subcategorias VALUES (2, 'Monitores', 4); INSERT INTO subcategorias VALUES (1, 'Refrigeradores', 1); INSERT INTO produtos VALUES ( 3, 'Notebook Compaq Presário', 'Computador portátil com processador Pentium III 500 MHz', 3300, 3.5, 4, 1, 'Com 32MB de memória RAM e HD de 4.3GB' );
INSERT INTO produtos VALUES ( 4, 'Monitor Samsung Syncmaster', 'Monitor colorido de 14 polegadas', 450, 8, 4, 2, 'Controle OSD digital por microprocessador, independente de RGB'); INSERT INTO produtos VALUES ( 5, 'Refrigerador Brastemp', 'Refrigerador Side by Side, com prateleiras em vidro temperado', 7500, 150, 1, 1, 'Porta em aço revestido com esmalte branco, que não deixa marcas de dedos');
SELECT nome_produto,nome_subcategoria FROM produtos,subcategorias,categorias WHERE cod_subcategoria=codigo_subcategoria AND cod_categoria=categorias.codigo_categoria AND subcategorias.codigo_categoria=categorias.codigo_categoria;
Ordenação de Resultados SELECT codigo_produto,nome_produto FROM produtos ORDER BY nome_produto;
Ordenação de Resultados SELECT codigo_produto,nome_produto FROM produtos ORDER BY nome_produto DESC;
Determinando número de linhas retornadas SELECT * FROM produtos WHERE nome_produto LIKE 'CD %'LIMIT 10;
Loja Virtual - Exemplo
Livro de visitas - Exemplo