INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança e flexibilidade exigem o uso de um banco de dados. Para que o banco de dados possa ser criado, gerenciado e utilizado é necessário um software que é chamado de Sistema de Gerenciamento de Banco de Dados ou SGBD. A linguagem PHP suporta diversos SGBD's. O PHP tem suporte nativo ao SGBD MySQL dispensando qualquer tipo de recurso adicional. ESTRUTURA DE UM BANCO DE DADOS Um banco de dados é constituído de tabelas, também chamadas de entidade. Uma tabela é constituída de uma ou mais colunas, onde cada coluna representa um atributo da entidade. As tabelas representam entidades existentes no mundo real e são constituídas de colunas que representam atributos relevantes de cada entidade. Por exemplo, em um banco de dados de uma loja virtual, podemos encontrar as tabelas cliente, produto, fornecedor e pedido. Na tabela cliente, podemos encontrar atributos, como nome, endereço e cpf. Um conjunto de tabelas relacionadas é chamado de banco de dados. As tabelas acima citadas poderiam fazer parte de um banco de dados chamado vendas. COMANDOS SQL A linguagem SQL (Struct Query Language) é uma linguagem padrão para a manipulação de dados dentro de um SGBD. Possibilita o armazenamento, organização, atualização e exclusão de informações dentro do banco de dados.
COMANDOS SQL A linguagem SQL é dividida em grupos, sendo os principais: Linguagem de Definição de Dados (DDL) Data Definition Language Usada para criar, alterar e excluir as tabelas. Principais comandos CREATE e DROP Linguagem de Manipulação de Dados (DML) Data Manipulation Language Usada para manipular os dados contidos nas tabelas. Principais comandos SELECT, INSERT, UPDATE e DELETE. COMANDO CREATE Utilizado para criar novos bancos de dados e tabelas. O comando create database tem a função de criar um novo banco de dados. Podemos criar um banco de dados chamado exemplo com o seguinte comando: create database exemplo; O comando create table tem a função de criar uma nova tabela em um banco de dados já existente. COMANDO CREATE Para selecionar um banco de dados devemos usar o comando use. Para criar a tabela alunos no banco de dados exemplo, temos que inserir os seguintes comandos: use exemplo; create table funcionario( id int primary_key auto_increment, nome varchar(40) not null, sexo char(1) not null, nascimento date not null, email varchar(50) null, salario double not null ); PRINCIPAIS TIPOS DE DADOS char - tamanho fixo de caracteres. varchar - tamanho variável de caracteres. int - números inteiros. double - números fracionários. date - data no formato do Mysql (yyyy-mm-dd). not null o atributo não pode ser nulo. auto_increment - o valor de um campo é incrementado automaticamente. primary key - o atributo é uma chave primária.
CHAVE PRIMÁRIA Chaves primárias ou Primary Key PK, são utilizadas para identificar um registro dentro de uma tabela. Um bom exemplo seria a matrícula de um funcionário. Colunas definidas como chave primária devem obrigatoriamente ser: not null (obrigatórias) únicas (sem repetição) COMANDO DROP Utilizado para excluir bancos de dados e tabelas. O comando drop database elimina um banco de dados. drop database exemplo; A execução do comando drop database elimina o banco de dados e todas as tabelas que estavam inseridas nele. O comando drop table elimina uma tabela. drop table funcionario; COMANDO INSERT Utilizamos esse comando para inserir dados em uma tabela. Podemos cadastrar um funcionário utilizando este comando e informando os valores na ordem em que as colunas foram definidas. Para cadastrar um aluno, devemos informar: nome, sexo, nascimento, e-mail e salario. O comando id é auto_increment. Vamos deixar que o MySQL defina um valor para ele. COMANDO SELECT Utilizado para realizar pesquisas dentro de uma tabela. Podemos pesquisarmos todos os registros dentro de uma tabela da seguinte forma: select * from funcionario; O sinal ' * ' diz para o comando select buscar todos os valores da tabela. insert into funcionario values (null, Leonardo Pereira, m, 1986-06-21, leo@ig.com,5000);
COMANDO SELECT Podemos especificar uma ou mais colunas para que a pesquisa seja realizada: select nome, email from funcionario; Neste caso, só teremos como resposta os valores das colunas nome e e-mail. Podemos especificar uma ou mais linhas para que a pesquisa seja realizada. select email from funcionario where nome = Leonardo Pereira ; Neste caso, será retornado o valor da coluna e-mail que está na mesma linha que o nome citado. COMANDO SELECT Podemos obter o nomes dos funcionários que possuem salario maior que R$ 3000. select nome from funcionario where salario > 3000; Podemos obter o e-mail dos funcionários que possuem salario maior que R$ 4000 e menor que R$ 6000 select nome from funcionario where salario between 4000 and 6000; COMANDO UPDATE O comando update é utilizado para atualizar um registro da tabela. Caso a cláusula where não seja informada, todos os registros da tabela serão atualizados com o valor informado: update funcionario set email= chefe@ig.com ; Todas as linhas da tabela funcionário terão os valores de e-mail modificados para chefe@ig.com. update funcionario set email = chefe@ig.com where id = 10; Neste caso, apenas a linha onde o campo id tiver valor 10 terá seu campo e-mail alterado para chefe@ig.com. COMANDO DELETE Utilizado para excluir um registro da tabela. Se aplicado sem a cláusula where, elimina todos os registros da tabela: delete from funcionario; O comando acima elimina todas as linhas da tabela. delete from funcionario where nascimento = 1986-06- 21 ; O comando acima remove todos os funcionários que nasceram na data citada.
QUESTÃO 1 Em linguagem SQL, o comando utilizado para remover uma tabela de um banco de dados é a) DROP TABLE. b) DELETE TABLE. EXERCICÍOS c) REMOVE TABLE. d) DELETE FROM. e) ROLLBACK QUESTÃO 2 Considere a tabela de nome Filial contendo 10 registros em um determinado banco de dados. Os atributos dessa tabela são: Codigo Nome Estado Cidade Para excluir todos os registros dessa tabela, deve-se usar o comando a) DELETE FROM Filial b) DELETE Codigo, Nome, Estado, Cidade FROM Filial c) REMOVE Codigo, Nome, Estado, Cidade FROM Filial d) SELECT * FROM Filial REMOVE ALL e) UPDATE Filial SET ALL = null QUESTÃO 3 Considere a seguinte tabela de um banco de dados. TAB_FUNC = {COD_FUNC, NOME, COD_DEP, SAL} Uma consulta que devolve apenas a tabela formada por (COD_FUNC) e (NOME) dos funcionários que ganham salário (SAL) entre 1000 e 3000 reais e trabalham no departamento de código (COD_DEP) 3 é a) SELECT * FROM COD_FUNC AND NOME WHERE SAL BETWEEN 1000 AND 3000 AND COD_DEP=3 b) SELECT * FROM TAB_FUNC WHERE SAL BETWEEN 1000 AND 3000 c) SELECT COD_DEP=3 FROM TAB_FUNC WHERE SAL BETWEEN 1000 AND 3000 d) SELECT COD_FUNC, NOME FROM TAB_FUNC WHERE COD_DEP=3 AND SAL BETWEEN 1000 AND 3000 e) SELECT COD_FUNC AND NOME FROM TAB_FUNC WHERE COD_DEP=3 AND SAL BETWEEN 1000 AND 3000
QUESTÃO 4 Qual instrução SQL é usada para atualizar os dados em um banco de dados? a) SAVE AS b) SAVE c) MODIFY d) UPDATE e) SELECT QUESTÃO 5 Qual instrução SQL é usada para inserir novos dados em uma tabela do banco de dados? a) ADD NEW b) ADD RECORD c) INSERT INTO d) INSERT NEW e) INSERT QUESTÃO 6 O SQL (Structured Query Language) é uma linguagem de pesquisa declarativa para banco de dados relacional. A DDL permite ao usuário definir tabelas novas e elementos associados. A sigla DDL significa a) Data Definition List. b) Data Default Language. c) Data Definition Language. d) Data Default List. e) Definition Data Language. QUESTÃO 7 Considere as seguintes atividades: 1. Definição das tabelas que compõem um banco de dados. 2. Execução de consultas em bancos de dados. 3. Inserção, alteração e remoção de dados em um banco de dados. Assinale a alternativa que aponta corretamente as atividades que podem ser executadas utilizando-se a linguagem SQL (Structured Query Language). a) Apenas a atividade 1. b) Apenas a atividade 2. c) Apenas as atividades 1 e 2. d) Apenas as atividades 2 e 3. e) As atividades 1, 2 e 3.
QUESTÃO 8 Em uma SQL a) a Linguagem de Manipulação de Relacionamentos compreende os comandos para construir tabelas em um banco de dados. b) a Linguagem de Defi nição de Dados fornece tabelas para criação e modifi cação de comandos. c) os comandos básicos da Linguagem de Defi nição de Dados são Select, Insert, Update e Delete. d) a Linguagem de Manipulação de Dados compreende os comandos para inserir, remover e modifi car informações em um banco de dados. e) os comandos básicos da Linguagem de Defi nição de Dados são Sort, Insert, Undo e Store. QUESTÃO 9 DROP é um comando utilizado para apagar um objeto do banco de dados e é parte integrante do subconjunto da linguagem SQL denominado a) DML - Linguagem de Manipulação de Dados. b) DTL - Linguagem de Transação de Dados. c) DCL - Linguagem de Controle de Dados. d) DDL - Linguagem de Definição de Dados. e) DQL - Linguagem de Consulta de Dados. QUESTÃO 10 Consiste de um conjunto de dados (banco de dados) e um conjunto de programas para armazenamento e acesso a esses dados, de forma eficiente e convincente: a) SGBD b) DGBD c) GBD d) PGBD e) MGBD