Implementando scripts PHP com MySQL
Neste artigo explico como manipular o banco de dados MySQL com PHP, criando páginas para cadastro, edição e listagem dos registros armazenados.
Parte 5: Criando um banco de dados para uso em nossos scripts
Vamos utilizar agora os mesmos comandos que vocês aprenderam lendo os artigos
anteriores sobre banco de dados. Então, partindo do princípio que seu sistema
já está configurado adequadamente, entre no MySQL e comece a executar os
comandos abaixo:
Criando um banco de dados:
mysql> CREATE DATABASE meubanco;
Criando uma tabela:
mysql> CREATE TABLE funcionarios (
codigo int(5) NOT NULL auto_increment,
nome varchar(40) NOT NULL default '',
cargo varchar(25) NOT NULL default '',
setor varchar(25) NOT NULL default '',
PRIMARY KEY (codigo)
) TYPE=MyISAM;
Inserindo alguns dados:
mysql> INSERT INTO funcionarios (nome, cargo, setor) VALUES ('Marcos Silva','Contador','Depto Pessoal');
mysql> INSERT INTO funcionarios (nome, cargo, setor) VALUES ('Lucas Carneiro','Auxiliar','Depto Informática');
mysql> INSERT INTO funcionarios (nome, cargo, setor) VALUES ('Jefferson Estanislau da Silva','Administrador','Depto Informática');
Nota: Como o campo "codigo" será automaticamente incrementado, não é necessário especificá-lo.
Bom, agora que já criamos um banco de dados, tabela e inserimos alguns dados, vamos a uma questão muito importante, que é o usuário que poderá acessar, incluir e excluir dados desta tabela.
Importante: Lembre-se que o MySQL possui um bando de dados padrão e de controle chamado "mysql".
Acessando o banco de dados mysql:
mysql> use mysql;
Listando suas tabelas;
mysql> show tables;
Observe que dentre as tabelas listadas estão a User (responsável por definir o acesso do usuário ao servidor do mysql) e a Db (responsável por definir o acesso do usuário a um banco de dados específico).
Desta forma, iremos criar um usuário que terá acesso ao nosso banco de dados e a tabela funcionário.
Listando a estrutura da tabela user:
mysql> show fields from user;
Observe que foi listado o privilégio de comandos como Select, Insert, Delete e etc, onde deveremos indicar se nosso usuário poderá ou não se valer destes comandos.
NOTA: Conte quantos campos de tipo "enum('N','Y')" foi listado, pois observei diferenças entre algumas distros. No Mandrake 9.1 onde escrevi o artigo anterior existem 21 campos. No Debian onde estou escrevendo este artigo existem 14 campos.
Criando usuário para acesso no servidor:
mysql> INSERT INTO user VALUES ('localhost', 'jeffestanislau', password('senhaphp'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
Nota: Nos 3 primeiros campos estou inserindo informações de Host, Usuário e Senha, para os demais estou dando a permissão para que ele possa usufruir de todos os comandos de manipulação.
Listando a estrutura da tabela db:
mysql> show fields from db;
NOTA: Da mesma forma que em User, conte quantos campos de tipo "enum('N','Y')" foi listado. No Mandrake 9.1 existem 12 campos. No Debian existem 10 campos.
Criando usuário para acesso ao banco de dados:
mysql> INSERT INTO user VALUES('localhost', 'meubanco', 'jeffestanislau', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
NOTA: Os 3 primeiros campos desta vez correspondem há Host, banco de dados e usuário.
Feito isso já estamos prontos para implementar o MySQL com o PHP.
Criando um banco de dados:
mysql> CREATE DATABASE meubanco;
Criando uma tabela:
mysql> CREATE TABLE funcionarios (
codigo int(5) NOT NULL auto_increment,
nome varchar(40) NOT NULL default '',
cargo varchar(25) NOT NULL default '',
setor varchar(25) NOT NULL default '',
PRIMARY KEY (codigo)
) TYPE=MyISAM;
Inserindo alguns dados:
mysql> INSERT INTO funcionarios (nome, cargo, setor) VALUES ('Marcos Silva','Contador','Depto Pessoal');
mysql> INSERT INTO funcionarios (nome, cargo, setor) VALUES ('Lucas Carneiro','Auxiliar','Depto Informática');
mysql> INSERT INTO funcionarios (nome, cargo, setor) VALUES ('Jefferson Estanislau da Silva','Administrador','Depto Informática');
Nota: Como o campo "codigo" será automaticamente incrementado, não é necessário especificá-lo.
Bom, agora que já criamos um banco de dados, tabela e inserimos alguns dados, vamos a uma questão muito importante, que é o usuário que poderá acessar, incluir e excluir dados desta tabela.
Importante: Lembre-se que o MySQL possui um bando de dados padrão e de controle chamado "mysql".
Acessando o banco de dados mysql:
mysql> use mysql;
Listando suas tabelas;
mysql> show tables;
Observe que dentre as tabelas listadas estão a User (responsável por definir o acesso do usuário ao servidor do mysql) e a Db (responsável por definir o acesso do usuário a um banco de dados específico).
Desta forma, iremos criar um usuário que terá acesso ao nosso banco de dados e a tabela funcionário.
Listando a estrutura da tabela user:
mysql> show fields from user;
Observe que foi listado o privilégio de comandos como Select, Insert, Delete e etc, onde deveremos indicar se nosso usuário poderá ou não se valer destes comandos.
NOTA: Conte quantos campos de tipo "enum('N','Y')" foi listado, pois observei diferenças entre algumas distros. No Mandrake 9.1 onde escrevi o artigo anterior existem 21 campos. No Debian onde estou escrevendo este artigo existem 14 campos.
Criando usuário para acesso no servidor:
mysql> INSERT INTO user VALUES ('localhost', 'jeffestanislau', password('senhaphp'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
Nota: Nos 3 primeiros campos estou inserindo informações de Host, Usuário e Senha, para os demais estou dando a permissão para que ele possa usufruir de todos os comandos de manipulação.
Listando a estrutura da tabela db:
mysql> show fields from db;
NOTA: Da mesma forma que em User, conte quantos campos de tipo "enum('N','Y')" foi listado. No Mandrake 9.1 existem 12 campos. No Debian existem 10 campos.
Criando usuário para acesso ao banco de dados:
mysql> INSERT INTO user VALUES('localhost', 'meubanco', 'jeffestanislau', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
NOTA: Os 3 primeiros campos desta vez correspondem há Host, banco de dados e usuário.
Feito isso já estamos prontos para implementar o MySQL com o PHP.
As vezes comecamos a viajar em assuntos de nivel técnico relativamente alto e nos esquecemos que o pessoal que tá comecando só quer e precisa de exemplos simples.
[]`s
Ragen