Prof. Rhyan Ximenes SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados II E x c e l ê n c i a n o s e u f u t u r o fluci anofei j ao.com. br Semest r e: º Turma: 02 Turno: Noite Dat a: 21/06/13 Not a: ALUNO (A) Assinat ura: Lista 03 Banco de Dados Like - O operador LIKE é usado para pesquisar um padrão especificado em uma coluna. A seguinte instrução SQL seleciona os clientes em cidades que começam com um "s" da tabela "Clientes": SELECT * FROM Customers WHERE City LIKE 's%'; O símbolo "%" pode ser utilizado para definir caracteres universais (faltando as letras no padrão) tanto antes como depois do padrão. A seguinte instrução SQL seleciona os clientes de uma cidade que termina com um "s" da tabela "Clientes": SELECT * FROM Customers WHERE City LIKE '%s'; Também é possível pesquisar por um padrão, e não apenas uma única letra. A seguinte instrução SQL seleciona os clientes de um país que contém o padrão "den" da tabela "Clientes": SELECT * FROM Customers WHERE Country LIKE '%den%'; Usando a palavra-chave NOT permite que você selecione os registros que não correspondem ao padrão. A seguinte instrução SQL seleciona os clientes de um país que não contém o padrão den da tabela Clientes : SELECT * FROM Customers WHERE Country NOT LIKE '%den%'; Obs.: Vale lembrar que o Like retorna true se corresponder ao padrão especificado. Veja a tabela abaixo: Caract ere curing a Descrição Exemplo % Qualquer cadeia de zero ou mais caracteres. WHERE title LIKE '%computer%' localiza todos os títulos de livro com a palavra 'computer' em qualquer lugar no título do livro. _ (sublinh ado) Qualquer caractere único. WHERE au_fname LIKE '_ean' localiza todos os nomes de quatro letras que terminam com ean (Dean, Sean e assim por diante). [ ] Qualquer caractere único no intervalo ([a-f]) ou conjunto ([abcdef]) especificado. WHERE au_lname LIKE '[C-P]arsen' localiza os sobrenomes de autores que terminem com arsen e que comecem com qualquer caractere único entre C e P, por exemplo, Carsen, Larsen, Karsen e assim por diante. Em pesquisas de intervalo, os caracteres incluídos no intervalo podem variar de acordo com as regras de classificação do agrupamento. [^] Qualquer caractere único que não WHERE au_lname LIKE 'de[^l]%' localiza todos os sobrenomes de autor que comecem com de e a letra
esteja no intervalo (^[a-f]) ou conjunto ([^abcdef]) especificado. seguinte não seja l. * É reconhecido como um caractere-curinga que casa com qualquer número de caracteres desconhecidos Select * from devolucao where cliente like?"? É um curinga que casa com um único caractere desconhecido. Select * from devolucao where cliente like?" CRIANDO UM BANCO DE DADOS NO MYSQL Obs.: Para esta atividade precisa-se de instalação do Mysql-Server 5.1 ou superior, ou outro aplicativo como o wamp, xampp, etc. 1-) Abra o terminal do Mysql server, ou seja o mysql no console; Entre com o usuário e senha: digite mysql u p password: ****; 2-) Para visualizar a base de dados no mysql, digite o comando: show databases; 3-) Cria um banco de dados: create database <nome_do_banco>; 4-) Para usar a base de dados: use <nome_do_banco>; 5-) Criando um banco de dados CREATE DATABASE LOJA; CREATE TABLE CONTATO (ID INT(2) NOT NULL AUTO_INCREMENT, NOME VARCHAR(50) NOT NULL, ENDERECO VARCHAR(50), TELEFONE VARCHAR(30), EMAIL VARCHAR(30), SEXO VARCHAR(1), PRIMARY KEY(ID) ); 6-) Inserindo dados no banco. INSERT INTO NOME_TABELA( NOME,ENDERECO,TELEFONE,EMAIL,SEXO) VALUES ( JOSE DA SILVA, RUA 25 DE NOVEMBRO, 9999-9087, JOSE@BRASIL.COM, M ); Obs.: A ordem dos elementos na tabela importa, no segundo parêntese que são os dados referentes aos do primeiro. Obs.:Lembre-se que as aspas duplas devem ser colocadas somente quando os atributos são do tipo varchar. Para sair do símbolo (seta direita), digite ; (ponto e vírgula). Para sair do modo console do mysql digita-se exit. 7-) Depois de concluído a criação do banco de dados e da tabela com os valores podemos visualizar os dados da tabela. SELECT *FROM <NOME_TABELA>;
ALGUNS COMANDO DO SQL Vamos então a partir daqui mostrar alguns conceitos básicos relacionados com comandos SQL para o MySQL no Windows usando o prompt de comandos(console). Os comandos serão digitados na linha de comando ; após o termino de cada linha tecle Enter e para executar o comando tecle ; e Enter. Para exibir os banco de dados disponíveis use o comando: Show DataBases O resultado do comando esta exibindo os três banco de dados que eu tenho disponível no meu MySQL Nota: O comando Select Database( ); exibe o database atual. Vamos criar um novo banco de dados chamado Teste usando o comando : Create Database e a seguir será exibidos os banco de dados existentes, conforme abaixo: 3- Para trabalhar com um banco de dados usamos o comando : Use <nome_do_banco_de_dados> Vamos usar o banco de dados Teste e exibir as tabelas existentes usando o comando Show Tables: O comando Show tables não encontrou nenhuma tabela no banco de dados Teste. Nota: Para excluir um banco, use comando : DROP DATABASE <nome_do_banco_de_dados> 4- Vamos criar uma tabela no banco de dados Teste. Para isto usamos o comando CREATE TABLE com a seguinte sintaxe: CREATE TABLE table_name (column_name1 type [modifiers] [, column_name2 type [modifiers]]) Vamos criar uma tabela chamada Clientes com seguinte estrutura: Codigo - chave primária Nome - VarChar(30) Endereco - VarChar(30) Estado - Varchar(2)
nota: Para definir a coluna como do tipo auto incremental basta acrescentar :AUTO_INCREMENT na definição da coluna. Para o exemplo acima faríamos: CODIGO BIGINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT 5- Para inserir dados na tabela usamos o comando INSERT INTO: INSERT INTO table_name (column1, column2,..., columnn) VALUES (value1, value2,..., valuen) Vamos inserir um registro na tabela usando a instrução SQL abaixo: INSERT INTO CLIENTES (Codigo,Nome, endereco, estado) VALUES(1,'Macoratti', 'Av. Mirassol 100', 'SP'); 6- Se quisermos obter informações detalhadas da estrutura da tabela usamos o comando : DESCRIBE <NOME_DA_TABELA>; Nota: Temos abaixo os principais tipos de dados 7- Para excluir uma tabela basta usar o comando DROP <nome_da_tabela>; 8- Para atualizar uma coluna podemos usar o comando : UPDATE. Abaixo uma das sintaxes possíveis onde atualizamos a coluna Endereco.
A sintaxe para o comando UPDATE é : UPDATE table_name SET column1=value1, column2=value2,..., columnn=valuen [WHERE clause] 9 - Para excluir uma linha da tabela usamos o comando DELETE. Abaixo estou excluindo a linha inserida acima. Note que é aconselhável especificar a condição na cláusula WHERE. A sintaxe é : DELETE FROM table_name [WHERE clause] 10 - Para encerrar este primeiro contato com as operações básicas SQL no MySQL vamos realizar uma junção de duas tabelas. Para isto vamos criar uma tabela chamada veículos que estará relacionada coma tabela teste criada acima e conterá os dados dos veículos de cada cliente: Exibindo as tabelas existentes e a estrutura da tabela criada teremos: Vamos agora incluir alguns dados na tabela teste e na tabela veículos usando INSERT INTO.
Obs: Podemos usar a notação Insert Into values() : Ex: insert into veiculos values( 1, 'MERCEDES', 'BRANCA', 1, 3000); Abaixo temos o resultado final das inclusões: Vamos fazer a nossa junção. Usamos para isto a cláusula SELECT e definimos a tabela e o nome do campo que desejamos exibir separados por um ponto ; a seguir relacionamos as tabelas de dados na cláusula FROM e definimos a condição na cláusula WHERE. EXERCÍCIOS 1-) Crie um banco de dados para uma biblioteca com uma tabela usuários contendo os campos ID, NOME, ENDERECO, TELEFONE, EMAIL, UF, CIDADE, PAIS,SEXO. 2-) Crie um banco de dados para uma biblioteca com uma tabela usuários contendo os campos ID, NOME, ENDERECO, TELEFONE, EMAIL,UF,CIDADE, PAIS,SEXO e uma tabela com o nome livros contendo os campos COD_LIVRO, AUTOR, TITULO, VOLUME_EXEMPLAR, LOCAL, EDITORA, EDICAO, ANO_PUBLICACAO. 3-) Crie um banco de dados para uma farmácia com uma tabela clientes contendo os campos ID, NOME, ENDERECO, TELEFONE, EMAIL,UF,CIDADE, PAIS,SEXO. 4-) Crie um banco de dados para uma padaria com uma tabela usuários contendo os campos ID, NOMPROD, VALIDADE, QTDE, VALORUNIT,PESO. 5-) Qual o comando em SQL para criar um banco de dados? 6-) Qual o comando para usar o banco de dados para que seja possível a manipulação do banco? 7-) Qual o comando utilizado para a criação de tabelas no SQL? 8-) Qual o comando utilizado para inserir dados em uma tabela? 9-) Quais os tipos primitivos aceitos pelo SQL? 10-) Qual o comando utilizado para exibir os banco de dados disponíveis no Mysql? 11-) Qual o comando utilizado para excluir um banco de dados? 12-) Para que serve a palavra AUTO_INCREMENT? 13-) Qual o comando em SQL utilizado para deletar uma tabela? 14-) Qual o comando utilizado para atualizar uma coluna de um banco de dados? 15-) Para que serve o comando select utilizado no SQL? 16-) Cite algumas desvantagens do driver do ODBC. 17-) Cite um exemplo de uso de chave estrangeira em um banco de dados. 18-) Para quê serve uma chave estrangeira em um banco de dados. 19-) Fale sobre os gatilhos também conhecidos como triggers. 20-) Mostre um exemplo em SQL do comando: update. 21-) Mostre um exemplo em SQL do comando: delete. 22-) Mostre um exemplo em SQL do comando: select. 23-) Mostre um exemplo em SQL do comando: insert.