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
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“.
