Create Database
CREATE DATABASE IF NOT EXISTS DB_categoria CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE DB_categoria;
Create Table
CREATE TABLE IF NOT EXISTS TAB_CATEGORIA (
ID_CATEGORIA INT AUTO_INCREMENT PRIMARY KEY,
NOME_CATEGORIA VARCHAR(30) NOT NULL
) ENGINE = MYISAM;
CREATE TABLE IF NOT EXISTS TAB_SUBCATEGORIA (
ID_SUBCATEGORIA INT AUTO_INCREMENT,
ID_CATEGORIA INT,
NOME_SUBCATEGORIA VARCHAR(30) NOT NULL,
PRIMARY KEY (ID_SUBCATEGORIA, ID_CATEGORIA),
FOREIGN KEY (ID_CATEGORIA) REFERENCES TAB_CATEGORIA (ID_CATEGORIA) ON UPDATE RESTRICT ON DELETE CASCADE
) ENGINE=MYISAM;
Nota: A tabela TAB_SUBCATEGORIA possui chave estrangeira com a TAB_CATEGORIA e múltiplas chaves primárias.
Select em duas ou mais tabelas
SELECT taba.NOME_CATEGORIA, tabb.NOME_SUBCATEGORIA
FROM TAB_CATEGORIA taba, TAB_SUBCATEGORIA tabb
WHERE taba.ID_CATEGORIA = tabb.ID_CATEGORIA
ORDER BY NOME_CATEGORIA;
SELECT
system.id,system.last_seen,system.hostname,system.status,processor.description,memory.size,software.name
FROM system
INNER JOIN processor ON system.id = processor.system_id
INNER JOIN memory ON system.id = memory.system_id
INNER JOIN software ON system.id = software.system_id AND software.name LIKE "Microsoft Office Standard%"
ORDER BY system.id;
Insert
INSERT INTO TAB_CATEGORIA (NOME_CATEGORIA) VALUES ("PESSOAIS");
SELECT * FROM TAB_CATEGORIA;
INSERT INTO TAB_SUBCATEGORIA (ID_CATEGORIA,NOME_SUBCATEGORIA) VALUE (1,"Conta Celular");
INSERT INTO TAB_SUBCATEGORIA (ID_CATEGORIA,NOME_SUBCATEGORIA) VALUE (1,"Restaurante/Bar");
SELECT * FROM TAB_SUBCATEGORIA;
Delete
DELETE FROM TAB_SUBCATEGORIA WHERE ID_SUBCATEGORIA=3;
SELECT * FROM TAB_SUBCATEGORIA;
Drop Database
DROP DATABASE DB_categoria;