|
| 1 | +/*Creating the database brasil*/ |
| 2 | +CREATE DATABASE IF NOT EXISTS brasil; |
| 3 | + |
| 4 | +/*Setting brasil to be manipulated*/ |
| 5 | +USE brasil; |
| 6 | + |
| 7 | +/*Creating the table estado DDL*/ |
| 8 | +CREATE TABLE IF NOT EXISTS estado ( |
| 9 | + id INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 10 | + nome VARCHAR(45) NOT NULL, |
| 11 | + sigla VARCHAR(2) NOT NULL, |
| 12 | + regiao ENUM('Norte', 'Nordeste', 'Centro-Oeste', 'Sudeste', 'Sul') NOT NULL, |
| 13 | + populacao INT NOT NULL, |
| 14 | + PRIMARY KEY (id), |
| 15 | + UNIQUE KEY (nome), |
| 16 | + UNIQUE KEY (sigla) |
| 17 | +); |
| 18 | + |
| 19 | +/*Creating the table cidade DDL*/ |
| 20 | +CREATE TABLE IF NOT EXISTS cidade ( |
| 21 | + id INT UNSIGNED NOT NULL AUTO_INCREMENT, |
| 22 | + nome VARCHAR(255) NOT NULL, |
| 23 | + estado_id INT UNSIGNED NOT NULL, |
| 24 | + populacao INT NOT NULL, |
| 25 | + PRIMARY KEY(id), |
| 26 | + FOREIGN KEY(estado_id) REFERENCES estado(id) |
| 27 | +); |
| 28 | + |
| 29 | +/*Inserting data in the table estado DML*/ |
| 30 | +INSERT INTO estado (nome, sigla, regiao, populacao) VALUES ('Rio de Janeiro', 'RJ', 'Sudeste', 17463349); |
| 31 | +INSERT INTO estado (nome, sigla, regiao, populacao) VALUES ('Minas Gerais', 'MG', 'Sudeste', 21411923); |
| 32 | +INSERT INTO estado (nome, sigla, regiao, populacao) VALUES ('São Paulo', 'SP', 'Sudeste', 46649132); |
| 33 | +INSERT INTO estado (nome, sigla, regiao, populacao) VALUES ('Santa Catarina', 'SC', 'Sul', 7338473); |
| 34 | + |
| 35 | +/*Inserting data in the table cidade DML*/ |
| 36 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Pomerode', 4, 34561); |
| 37 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Balneário Camboriú', 4, 149227); |
| 38 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Bombinhas', 4, 20889); |
| 39 | + |
| 40 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Holambra', 3, 15605); |
| 41 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Ubatuba', 3, 92819); |
| 42 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Campos do Jordão', 3, 52713); |
| 43 | + |
| 44 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Ouro Preto', 2, 74824); |
| 45 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('São João Del Rei', 2, 90897); |
| 46 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Ipatinga', 2, 267333); |
| 47 | + |
| 48 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Paraty', 1, 44175); |
| 49 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Arraial do Cabo', 1, 30827); |
| 50 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Angra dos Reis', 1, 210171); |
| 51 | + |
| 52 | +/*Inserting ERRONEOUS data in the table cidade DML (The city name is incorrect)*/ |
| 53 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Rio Branco', 1, 307144); |
| 54 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Rio Branco', 2, 47924); |
| 55 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Rio Branco', 3, 63310); |
| 56 | +INSERT INTO cidade (nome, estado_id, populacao) VALUES ('Rio Branco', 4, 11311); |
| 57 | + |
| 58 | +/*Updating the row inserted, correcting the name DML*/ |
| 59 | +UPDATE cidade SET nome = 'Petrópolis' WHERE nome = 'Rio Branco' AND estado_id = 1; |
| 60 | +UPDATE cidade SET nome = 'Diamantina' WHERE nome = 'Rio Branco' AND estado_id = 2; |
| 61 | +UPDATE cidade SET nome = 'Boituva' WHERE nome = 'Rio Branco' AND estado_id = 3; |
| 62 | +UPDATE cidade SET nome = 'Urubici' WHERE nome = 'Rio Branco' AND estado_id = 4; |
| 63 | + |
| 64 | +/* |
| 65 | +select * from estado; |
| 66 | +select * from cidade; |
| 67 | +*/ |
| 68 | + |
| 69 | +select e.sigla as 'State', c.nome as 'City', c.populacao as 'Population' |
| 70 | +from estado e |
| 71 | +inner join cidade c |
| 72 | +on e.id = c.estado_id |
| 73 | +order by c.populacao desc; |
| 74 | + |
| 75 | +/* Manipulation now must be done with Python :) */ |
| 76 | + |
| 77 | +/*Other examples of DDL on this DB*/ |
| 78 | +/* |
| 79 | +ALTER TABLE estado ADD populacao DECIMAL(10, 2); THIS INSERTS A NEW COLUMN NAMED populacao IN estado; |
| 80 | +ALTER TABLE cidade ADD populacao INT(9) NOT NULL; THIS INSERT A NEW COLUMN NAMED populacao IN cidade; |
| 81 | +
|
| 82 | +Renaming columns: |
| 83 | +ALTER TABLE estado RENAME COLUMN populacao TO populacao_estado; |
| 84 | +ALTER TABLE cidade RENAME COLUMN populacao TO populacao_cidade; |
| 85 | +
|
| 86 | +Changing column data type: |
| 87 | +ALTER TABLE estado MODIFY COLUMN nome VARCHAR(100) NOT NULL; |
| 88 | +ALTER TABLE estado MODIFY COLUMN nome VARCHAR(100) NOT NULL; |
| 89 | +ALTER TABLE cidade MODIFY COLUMN populacao INT(100) NOT NULL; |
| 90 | +ALTER TABLE cidade MODIFY COLUMN populacao INT(100) NOT NULL; |
| 91 | +
|
| 92 | +Deleting columns: |
| 93 | +ALTER TABLE estado DROP COLUMN populacao; |
| 94 | +ALTER TABLE cidade DROP COLUMN populacao; |
| 95 | +
|
| 96 | +Deleting from Brasil: |
| 97 | +DROP TABLE estado; |
| 98 | +DROP TABLE cidade; |
| 99 | +
|
| 100 | +Deleting brasil DB: |
| 101 | +DROP DATABASE brasil; |
| 102 | +*/ |
| 103 | + |
| 104 | +/* |
| 105 | +Other examples of DML on this DB: |
| 106 | +
|
| 107 | +UPDATE estado SET nome = 'ACRE' WHERE nome = 'Acre' AND id = 1; |
| 108 | +UPDATE cidade SET nome = 'RIO BRANCO' WHERE nome = 'Rio Branco'; |
| 109 | +
|
| 110 | +DELETE FROM estado WHERE nome = 'Acre' AND sigla = 'AC' AND ID = 1; |
| 111 | +DELETE FROM cidade WHERE nome = 'Rio Branco'; |
| 112 | +DELETE FROM estado; DELETES EVERY ROW FROM estado. |
| 113 | +DELETE FROM cidade; DELETES EVERY ROW FROM cidade... |
| 114 | +*/ |
| 115 | + |
| 116 | +/* |
| 117 | +DQL Examples: |
| 118 | + |
| 119 | +SELECT id, nome AS nome_do_estado FROM estado; |
| 120 | +SELECT id, nome AS city_name FROM cidade; |
| 121 | +
|
| 122 | +SELECT nome FROM estado ORDER BY name; |
| 123 | + |
| 124 | +SELECT * from estado |
| 125 | +INNER JOIN cidade |
| 126 | +ON estado.id = cidade.estado_id; |
| 127 | +*/ |
0 commit comments