docker pull container-registry.oracle.com/database/free:latest
docker run -d --name oracle-db -p 1521:1521 -p 5500:5500 -e ORACLE_PWD=SenhaForte123 container-registry.oracle.com/database/free:latest
CREATE TABLE gato (
id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
nome VARCHAR2(100) NOT NULL,
raca VARCHAR2(80),
idade NUMBER CHECK (idade >= 0),
peso NUMBER(5, 2) CHECK (peso > 0),
cor VARCHAR2(50),
ativo NUMBER(1) DEFAULT 1 CHECK (ativo IN (0, 1)),
criado_em TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
atualizado_em TIMESTAMP
);
INSERT INTO
gato (nome, raca, idade, peso, cor, ativo)
VALUES
('mingau', 'siamês', 3, 4.20, 'branco', 1),
('tom', 'srd', 5, 5.10, 'cinza', 1),
('luna', 'persa', 2, 3.80, 'preto', 1),
('nina', 'maine coon', 4, 6.50, 'marrom', 1),
('garfield', 'persa', 6, 7.20, 'laranja', 1),
('felix', 'srd', 1, 3.10, 'preto e branco', 0),
('oliver', 'british shorthair', 3, 4.90, 'cinza claro', 1);
SELECT * FROM gato;
SELECT * FROM gato WHERE LOWER(TRIM(raca)) = 'persa' AND ativo = 1 AND idade > 5;
SELECT raca, COUNT(*) AS total_gatos FROM gato WHERE ativo = 1 GROUP BY raca ORDER BY total_gatos DESC;
UPDATE gato
SET
nome = 'pipo',
peso = 4.50,
idade = 4,
atualizado_em = CURRENT_TIMESTAMP
WHERE
LOWER(TRIM(nome)) = 'mingau' AND ativo = 1;
SELECT * FROM gato;
SELECT LOWER(TRIM(raca)) AS raca, COUNT(*) AS total FROM gato WHERE LOWER(TRIM(raca)) = 'srd' GROUP BY LOWER(TRIM(raca));
DELETE FROM gato WHERE LOWER(TRIM(nome)) = 'felix' AND LOWER(TRIM(raca)) = 'srd' AND ativo = 0;
SELECT * FROM gato WHERE LOWER(TRIM(raca)) = 'srd';
Elaborado por Mateus Schwede
ubsocial.github.io