PHP
INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.brI
NTRODUÇÃOInformaçõ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.
E
STRUTURA DE UMB
ANCO DED
ADOSUm 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.
C
OMANDOSSQL
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.
C
OMANDOSSQL
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.
C
OMANDOCREATE
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 databaseexemplo;
O comando create table tem a função de criar
uma nova tabela em um banco de dados já existente.
C
OMANDOCREATE
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 tablefuncionario(
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 );
P
RINCIPAIST
IPOS DED
ADOS 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.
C
HAVEP
RIMÁRIAChaves 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)
C
OMANDODROP
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;
C
OMANDOI
NSERTUtilizamos 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.
insert into funcionario values (null, “Leonardo Pereira”,”m”,”1986-06-21”,”leo@ig.com”,5000);
C
OMANDOSELECT
Utilizado para realizar pesquisas dentro de uma
tabela.
Podemos pesquisarmos todos os registros dentro
de uma tabela da seguinte forma: select * fromfuncionario;
O sinal ' * ' diz para o comando select buscar
C
OMANDOSELECT
Podemos especificar uma ou mais colunas para que a
pesquisa seja realizada:
selectnome, 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.
selectemail 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.
C
OMANDOSELECT
Podemos obter o nomes dos funcionários que
possuem salario maior que R$ 3000.
selectnome 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
selectnome from funcionario where salario between 4000 and 6000;
C
OMANDOUPDATE
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:
updatefuncionario set email=“chefe@ig.com”;
Todas as linhas da tabela funcionário terão os valores de
e-mail modificados para chefe@ig.com.
updatefuncionario 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.
C
OMANDODELETE
Utilizado para excluir um registro da tabela. Se aplicado sem a cláusula where, elimina todos os
registros da tabela: delete fromfuncionario;
O comando acima elimina todas as linhas da tabela.
delete fromfuncionario where nascimento = “1986-06-21”;
O comando acima remove todos os funcionários que
EXERCICÍOS
Q
UESTÃO1
Em linguagem SQL, o comando utilizado para remover uma tabela de um banco de dados é
a) DROP TABLE. b) DELETE TABLE. c) REMOVE TABLE. d) DELETE FROM. e) ROLLBACK
Q
UESTÃO2
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
Q
UESTÃO3
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
Q
UESTÃO4
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
Q
UESTÃO5
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
Q
UESTÃO6
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.
Q
UESTÃO7
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.
Q
UESTÃO8
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ãoSelect, 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ãoSort, Insert, Undo e Store.
Q
UESTÃO9
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.
Q
UESTÃO10
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