SQL - "Base de dados"
Links e ferramentas para produção de conteúdos web.
Editores: Atom Free || SublimeText || NotePad++ Free
Editor gráfico: Kompozer
Ftp: FileZilla Free
Html e Html5 - Hypertext Markup Language, sistema padronizado para formatação de ficheiros de texto para obter efeitos de fontes, cores, gráficos e hiperlinks nas páginas da World Wide Web.
PHP Hypertext Preprocessor - é uma linguagem script especialmente adequada para desenvolvimento web que pode ser incorporada no HTML
.:.Ferramentas .:. PhP programação
JavaScript ou JS, é uma linguagem de programação de alto nível. É uma linguagem dinâmica.
SQL Structured Query Language - Linguagem estruturada para Base de dados
BD com python
CSS Cascading Style Sheets, HTML é usado para estruturar um documento da web, CSS especifica o estilo do documento - layout, cores e fontes.
Criar Base de dados MySql com Python - https://pynative.com/install-mysql-connector-python/
Ver exemplos neste site
Uma base de dados é um simples repositório de informação. Uma coleção de dados estruturados de determinada maneira que permite efetuar consultas, atualizações…
As bases de dados são estruturadas em tabelas.
Uma base de dados pode ter várias tabelas.
As tabelas são linhas e colunas que contêm dados. Cada coluna de uma tabela é denominada por campo. Os campos contêm tipos específicos de informação, como
nome, sobrenome ou ano de
nascimento.
Cada linha é dividida em células que contêm uma única parte de um dado. Uma linha horizontal de células é denominada por registo.
Para aceder a todos os códigos sql https://www.w3schools.com/sql/default.asp
Para começar é necessário ter o Wamp ou Xampp server a funcionar (Lamp para Linux).
As bases de dados vão ser criadas através do PhpMyAdmin tal como mostra a imagem.
Nota:
Por defeito a entrada no PhpMyAdmin
Utilizador: "root"
Palavra-passe: "em branco"
https://dev.mysql.com/downloads/workbench/
Esta ferramente permite trabalhar as bases de dados de forma mais fácil e intuitiva
Uma vez no PhpMyAdmin, o processo para criar uma base de dados é simples:
1º New
2º Indicar o nome da Base de dados (No caso TestePhpSql)
3º Criar
Tal como mostra a imagem
Uma vez criada a Base de dados TestePhpSql. Agora podemos criar as tabelas.
Existem duas formas distintas de criar tabelas, uma difícil e uma
fácil. Neste caso vamos usar a mais difícil porque nos vai permitir uma melhor compreensão aquando da integração com o Php.
Nota: numa Base de dados podemos criar várias tabelas
Algumas operações recorrentes nos dados das tabelas são:
- CREATE (criar tabelas)
- INSERT (Inserir dados nas tabelas)
- SELECT (Selecionar
dados nas tabelas mediante um critério)
- UPDATE (Atualizar dados existentes nas tabelas)
- ORDER (Ordenar dados das tabelas)
DDL (Data Definition Language) - Comandos que podem ser usados para definir o esquema da base de dados:
- CREATE - criar a BD ou os
seus objetos (tabela, índice, função, visualizações, procedimento de armazenamento e gatilhos).
- DROP - excluir objetos da BD.
- ALTER -
alterar a estrutura da BD.
- TRUNCATE - remove todos os registos de uma tabela, incluindo todos os espaços reservados para os registos.
- COMMENT - adicionar comentários.
- RENAME - renomear um objeto existente na BD.
DML (Data Manipulation Language) – Comandos que permitem a manipulação de dados:
- SELECT – Consultar dados da BD (tb considerado um
comando DQL).
- INSERT - Inserir dados em uma tabela.
- UPDATE - Atualizar os dados existentes em uma tabela.
- DELETE - Excluir registos de uma tabela da BD.
DCL (Data Control Language): Comandos que lidam com os direitos, permissões e outros controlos do sistema da BD.
- GRANT - dá privilégios de acesso
do utilizador à BD.
- REVOKE - retira os privilégios de acesso do utilizador à BD.
TCL (Transaction Control Language) - Lidam com a transação dentro da BD.
- COMMIT - confirma uma transação.
- ROLLBACK -
reverte a transação em caso de erro.
- SAVEPOINT – define um ponto para guardar uma transação.
- SET TRANSACTION - especifica as características da transação.
Partindo do princípio que:
- Está selecionada a Base de dados TestePhpSql.
- Foi ativado o separador SQL (como mostra a imagem
anterior).
Então - estão preenchidos todos os requisitos para começar a escrever o código da nossa tabela em SQL (versão mais difícil).
Neste momento temos uma estrutura criada que contempla:
- Uma base de dados TestePhpSql.
- Uma tabela info2
- A tabela info2 tem
os campos (id, assunto, conteudo, datai)
Podemos então inserir dados na tabela
Partindo do princípio que:
- Está selecionada a Base de dados TestePhpSql.
- Foi ativado o separador SQL
Então -
estão preenchidos todos os requisitos para começar a inserir dados na tabela info2.
Neste momento foi criada uma BD, uma tabela e foram inseridos dados na tabela.
O próximo passo é selecionar dados da tabela
Partindo do princípio que:
- Está selecionada a Base de dados TestePhpSql.
- Foi ativado o separador SQL
Então -
estão preenchidos todos os requisitos para começar a selecionar dados da tabela info2. Neste caso iremos selecionar todos os registos cujo id seja igual a 1.
O UPDATE permite atualizar os dados da tabela (alterar os dados da tabela)
Partindo do princípio que:
- Está selecionada a Base de dados TestePhpSql.
- Foi ativado o separador SQL
Então -
estão preenchidos todos os requisitos para começar a atualizar dados da tabela info2. Neste caso iremos atualizar todos os registos cujo id seja igual a 1, nos campos assunto e conteudo.
DELETE permite apagar dados da tabela mediante um critério
Partindo do princípio que:
- Está selecionada a Base de dados TestePhpSql.
- Foi ativado o separador SQL
Então -
estão preenchidos todos os requisitos para começar a apagar dados da tabela info2. Neste caso iremos apagar o registo cujo id seja igual a 2.
ORDER permite ordenar os dados da tabela mediante um critério
Partindo do princípio que:
- Está selecionada a Base de dados TestePhpSql.
- Foi ativado o separador SQL
Então -
estão preenchidos todos os requisitos para começar a ordenar os dados da tabela info2. Neste caso iremos ordenar os registos em ordem descendente tendo como critério o campo id.
Também podemos ordenar os registos em ordem ascendente ou por outro critério
Lembrar que o código php deve ser guardado na pasta www do WAMP server
A não esquecer:
- O utilizador da base de dados é root e password "vazio"
- A nossa base de dados tem o nome de TestePhpSql
De volta ao editor "Atom"
Para começar vamos criar uma estrutura de pastas dentro da pasta www do Wamp
Esta estrutura de pastas é importante porque, tal como em outras linguagens de programação a organização é fundamental.
1 - Tal como mostra a imagem em primeiro lugar vamos criar um ficheiro em Php que permitirá a conexão à Base de Dados. Este ficheiro vai ter o nome de dbh.inc.php e vaificar guardado na pasta includes, ou seja, C:\wamp64\www\BDsqlPhp\includes
Mais info em: https://www.w3schools.com/php/php_mysql_insert.asp
Objetivo: Mostrar os dados da tabela info2 da Base de Dados TestePhpSql
- 1 - Criar um ficheiro PHP na pasta BDsqlPhp
- 2 - No início do ficheiro vamos chamar a conexão à Bd criada no ficheiro dbh.inc.php
mysqli_set_charset($conn,"utf8");
//
Evitar o erro dos caracteres especiais (opcional)
$sql = "SELECT * FROM info2;";
//Indica a tabela da Bd (repara que o código entre aspas é SQL)
$result = mysqli_query($conn,$sql);
//
consulta à Base de dados
Nota: Sempre que escrevemos código entre aspas estamos a escreve código SQL, esse foi o motivo pelo qual escolhemos a maneira difícil de criar Bd em SQL
2 - Depois de criado o ficheiro para permitir a conexão à BD vamos criar um código que permita mostrar os dados da Base de Dados.
Neste exemplo vamos aplicar as mesmas regras do exemplo anterior, regras como:
- Estrutura de pastas; (Este exemplo ficará na pasta BDsqlPhpLogin)
- Nome dos ficheiros;
Mantendo a coerência do código vamos manter os nomes
da variáveis.
\includes\dbh.inc.php
Assim sendo podemos começar por copiar a pasta includes para este novo exemplo, uma vez que tudo se manterá igual excepto o nome da Base de Dados. Esta Bd vai chamar-se
SistLogin,
por isso a linha de código do ficheiro dbh.inc.php, referente ao nome da Bd será: $dbName ="SistLogin";
index.php
Este ficheiro também podemos copiar do exemplo anterior, lembrando que é importante manter a linha include_once'includes\dbh.inc.php'; porque esta linha liga este ficheiro ao ficheiro dbh.inc.php permitindo
a conexão à Bd.
Criar a Base de dados SistLogin
Para dar continuidade ao trabalho é necessário criar a Base de dados SistLogin através da consola phpmyadmin, este processo já foi explicado
anteriormente. Por isso, para este exemplo, apenas serão indicados os campos da base de dados.
Base de Dados - SistLogin
- Tabela - users 5 colunas campos
1 - A imagem mostra o ficeiro PHP que permite o acesso aos dados da BD
insert.php
Em primeiro lugar vamos criar um formulário HTML para inserir os dados na BD. Aquando a criação do form é necessário ter em conta os nomes dados ao parâmetro "name" ele funcionará como uma variável
Este
ficheiro terá uma ligação ao ficheiro includes\signup.inc.php
includes\signup.inc.php
Neste ficheiro será criada a comunicação com a BD. É através deste ficheiro que os dados inseridos no formulário serão associados à BD.
Algumas questões de segurança aquando do preenchimento do formulário,
Esta linha de código pode ser escrita assim, mas...
$primeiro = $_POST['primeiro'];
Se o utilizador escrever um código PHP numa caixa do formulário
esse código será
interpretado no nosso código e poderá destruir a nossa página. A solução para este problema é:
$primeiro = mysqli_real_escape_string($conn,$_POST['primeiro']);