Structured Query Language
Aqui é br: (Linguagem de Consulta Estruturada)
CREATE DATABASE nome_do_banco;
DROP DATABASE nome_do_banco;
-
CREATE TABLE infojuniores
(
id int NOT NULL AUTO_INCREMENT,
nome varchar(255) NOT NULL,
cargo varchar(255),
idade int,
PRIMARY KEY (id)
)
DROP TABLE nome_da_tabela
ALTER TABLE nome_da_tabela ADD nome_da_coluna tipo_de_dado
ALTER TABLE nome_da_tabela DROP COLUMN nome_da_coluna
-
INSERT INTO infojuniores
(`nome`, `cargo`, `idade`)
VALUES
('Iago', 'DGP', 12),
('Bruno', 'DPRJ', 20),
('Adeilson', 'DPRE', 21),
('Karen', 'DAF', 18),
('JP', 'Feirense', 20),
('Jeff', 'mito', 18)
-
UPDATE nome_da_tabela
SET coluna1=valor1,coluna2=valor2
WHERE nome_da_coluna=valor;
DELETE FROM nome_da__tabela WHERE nome_da_coluna=valor;
SELECT nome_da_coluna FROM nome_da_tabela;
SELECT nome_da_coluna, nome_de_outra_coluna FROM nome_da_tabela;
SELECT * FROM nome_da_tabela;
SELECT DISTINCT nome_da_coluna FROM nome_da_tabela;
SELECT nome_da_coluna FROM nome_da_tabela
WHERE nome_da_coluna operador valor;
SELECT * FROM nome_da_tabela
WHERE nome_da_coluna1= value1
AND nome_da_coluna2= 'value2';
SELECT * FROM nome_da_tabela WHERE nome_da_coluna LIKE 's%';
SELECT * FROM nome_da_tabela
WHERE nome_da_coluna
BETWEEN value1 AND value2;
SELECT nome_da_coluna FROM nome_da_tabela
WHERE nome_da_coluna IN (value1,value2,...);
SELECT * FROM nome_da_tabela
ORDER BY nome_da_coluna1
ASC, nome_da_coluna2 DESC;
É uma técnica onde os usuários mal-intencionados pode injetar comandos SQL em uma instrução SQL, através da entrada de página da web. Comandos SQL injetadas podem alterar instrução SQL e comprometer a segurança de uma aplicação web. As injeções mais comuns são por comparação e instrução em lote.
Parametrizar é a solução!
Nada mais é do que uma interface para banco de dados. Podemos dizer que é uma "classe universal" que nos fornece uma camada de abstração para vários SGBD's (MySQL, PostgreSQL etc) diferentes.
//
try{
// Faz conexão com banco de daddos
$pdo = new PDO("mysql:host=localhost;dbname=info;","root", "");
}catch(PDOException $e){
// Caso ocorra algum erro na conexão com o banco, exibe a mensagem
echo 'Falha ao conectar no banco de dados: '.$e->getMessage();
die;
}
mysql_connect, pg_connect
//
public function insert($pdo){
$sth = $pdo->prepare("INSERT
INTO infojuniores(nome,cargo,idade)
VALUES (:nome,:cargo,:idade)");
$sth->BindValue(':nome',$this->nome,PDO::PARAM_STR);
$sth->BindValue(':cargo',$this->cargo,PDO::PARAM_STR);
$sth->BindValue(':idade',$this->idade,PDO::PARAM_STR);
return $sth->execute();
}
//
public static function delete($id,$pdo){
$sth = $pdo->prepare("DELETE FROM infojuniores
WHERE id=:id LIMIT 1");
$sth->bindValue(":id", $id, PDO::PARAM_INT);
return $sth->execute();
}
//
public static function selectAll($pdo){
$sth = $pdo->query("SELECT * FROM infojuniores
ORDER BY nome ASC");
$sth->execute();
$results = $sth->fetchAll(PDO::FETCH_ASSOC);
return $results;
}