Nos pontos #1 a #6 falei sobre:
- instalar um servidor/cliente MySQL;
- criar uma base de dados;
- criar utilizadores;
- definir privilégios de acesso para os utilizadores;
- criar tabelas
Se não se acreditarem basta carregar no golfinho para rever.
Mas de que serve tudo isto se eu não conseguir escrever /alterar/eliminar informação acerca de Jogadores e Equipas na minha base de dados?!
Por esta razão vou registar aqui uma versão reduzida do subconjunto DML ( Data Manipulation Language), cujos principais comandos são:
- SELECT ( http://dev.mysql.com/doc/refman/5.0/en/select.html )
- INSERT ( http://dev.mysql.com/doc/refman/5.0/en/insert.html )
- DELETE ( http://dev.mysql.com/doc/refman/5.0/en/delete.html )
- UPDATE ( http://dev.mysql.com/doc/refman/5.0/en/update.html )
# SELECT
Permite obter dados a partir das tabelas.
Como neste momento as nossas tabelas ainda estão vazias o resultado é pouco esclarecedor, pelo que vamos reutilizar estes comandos mais para a frente.
mysql> SELECT * FROM Equipa; Empty set (0.00 sec) mysql> SELECT * FROM Jogador; Empty set (0.00 sec)
# INSERT
Permite inserir os dados nas tabelas.
Vamos então inserir alguns dados relativos a equipas e jogadores.
mysql> DESCRIBE Equipa; +-------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+-------+ | id | tinyint(3) | NO | PRI | NULL | | | nome | varchar(15) | NO | | NULL | | | nrsocios | int(7) | NO | | NULL | | | campeonatos | tinyint(2) | YES | | NULL | | +-------------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) mysql> INSERT INTO Equipa(id, nome, nrsocios, campeonatos) -> VALUES(1, "SCP", 1000000, 45); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO Equipa VALUES(2, "FCP", 900000, 1); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO Equipa(id, nome, nrsocios) -> VALUES(3, "SLB", 12); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO Equipa(id, nome, nrsocios) VALUES(3, "ERRO", 0); ERROR 1062 (23000): Duplicate entry '3' for key 1 mysql> SELECT * FROM Equipa; +----+------+----------+-------------+ | id | nome | nrsocios | campeonatos | +----+------+----------+-------------+ | 1 | SCP | 1000000 | 45 | | 2 | FCP | 900000 | 1 | | 3 | SLB | 12 | NULL | +----+------+----------+-------------+ 3 rows in set (0.00 sec)
# UPDATE
Permite alterar os dados previamente inseridos.
Vamos realizar algumas alterações aleatórias muito elementares.
mysql> UPDATE Equipa -> SET campeonatos = 1 -> WHERE nome = 'SCP'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> SELECT * FROM Equipa; +----+------+----------+-------------+ | id | nome | nrsocios | campeonatos | +----+------+----------+-------------+ | 1 | SCP | 1000000 | 1 | | 2 | FCP | 900000 | 0 | | 3 | SLB | 12 | 0 | +----+------+----------+-------------+ 3 rows in set (0.00 sec)
x
# DELETE
Permite eliminar linhas/registos de uma tabela que foram previamente inseridos.
Partindo do princípio que duas das rquipas deveriam ser erradicadas do nosso campeonato, vamos realizar algumas alterações aleatórias muito elementares.
mysql> DELETE FROM Equipa -> WHERE nome <> 'SCP'; Query OK, 2 rows affected (0.00 sec) mysql> SELECT * FROM Equipa; +----+------+----------+-------------+ | id | nome | nrsocios | campeonatos | +----+------+----------+-------------+ | 1 | SCP | 1000000 | 1 | +----+------+----------+-------------+ 1 row in set (0.00 sec)
E que fique claro … NÃO SOU SPORTINGUISTA … sou futebolisticamente “ateu“.


