Publicado em MySQL

#7 Utilização elementar dos comandos MySQL do subconjunto DML

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

principal100

Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s