Mysql Comandos básicos para criar tabelas

MySQL é um sistema de gerenciamento de banco de dados (SGBD) popular que suporta vários tipos de dados. Neste artigo, vamos discutir os principais tipos de dados em MySQL com exemplos.

  1. INTEGER – O tipo de dados INTEGER é usado para armazenar números inteiros. Você pode especificar o tamanho do INTEGER, que pode variar de 1 a 8 bytes. O tamanho padrão é 4 bytes. Exemplo:
sql
CREATE TABLE clientes (
    id INTEGER,
    nome VARCHAR(50),
    idade INTEGER
);
  1. VARCHAR – O tipo de dados VARCHAR é usado para armazenar uma string de caracteres variáveis. Você deve especificar o tamanho máximo da string. Exemplo:
sql
CREATE TABLE clientes (
    id INTEGER,
    nome VARCHAR(50),
    endereco VARCHAR(100)
);
  1. DATE – O tipo de dados DATE é usado para armazenar datas. Exemplo:
sql
CREATE TABLE vendas (
    id INTEGER,
    data_venda DATE,
    total_venda DECIMAL(10, 2)
);
  1. DECIMAL – O tipo de dados DECIMAL é usado para armazenar números decimais. Você deve especificar o tamanho total e o número de dígitos após o ponto decimal. Exemplo:
sql
CREATE TABLE vendas (
    id INTEGER,
    data_venda DATE,
    total_venda DECIMAL(10, 2)
);
  1. BOOLEAN – O tipo de dados BOOLEAN é usado para armazenar valores lógicos verdadeiro ou falso (1 ou 0). Exemplo:
sql
CREATE TABLE usuarios (
    id INTEGER,
    nome VARCHAR(50),
    ativo BOOLEAN
);
  1. BLOB – O tipo de dados BLOB é usado para armazenar grandes quantidades de dados binários, como imagens ou arquivos de áudio. Exemplo:
sql
CREATE TABLE produtos (
    id INTEGER,
    nome VARCHAR(50),
    imagem BLOB
);

Esses são apenas alguns dos principais tipos de dados em MySQL. Ao criar tabelas em MySQL, é importante escolher o tipo de dados correto para cada coluna com base no tipo de dado que será armazenado. Isso ajudará a otimizar o desempenho e garantir a integridade dos dados.

Aqui estão mais exemplos de tipos de dados em MySQL, incluindo exemplos de data e hora:

  1. TIME – O tipo de dados TIME é usado para armazenar um horário. Exemplo:
sql
CREATE TABLE compromissos (
    id INTEGER,
    titulo VARCHAR(50),
    hora TIME
);
  1. DATETIME – O tipo de dados DATETIME é usado para armazenar uma data e hora. Exemplo:
sql
CREATE TABLE compromissos (
    id INTEGER,
    titulo VARCHAR(50),
    data_hora DATETIME
);
  1. TIMESTAMP – O tipo de dados TIMESTAMP é usado para armazenar uma data e hora, semelhante ao DATETIME. No entanto, o valor TIMESTAMP é armazenado como um valor inteiro UNIX, que é convertido em uma data e hora quando recuperado. Exemplo:
sql
CREATE TABLE logs (
    id INTEGER,
    mensagem VARCHAR(200),
    data_hora TIMESTAMP
);
  1. YEAR – O tipo de dados YEAR é usado para armazenar um ano com quatro dígitos. Exemplo:
sql
CREATE TABLE livros (
    id INTEGER,
    titulo VARCHAR(100),
    ano_publicacao YEAR
);

Ao usar tipos de dados de data e hora, é importante ter em mente que o formato de data e hora pode variar dependendo do local e da configuração do servidor. Além disso, pode ser necessário converter valores de data e hora entre formatos diferentes ao trabalhar com diferentes sistemas ou linguagens de programação.

Foreign Key ( Chave Estrangeira)

Uma chave estrangeira (FOREIGN KEY) no MySQL é um campo (ou conjunto de campos) em uma tabela que faz referência à chave primária (PRIMARY KEY) de outra tabela. O seu objetivo principal é estabelecer um vínculo entre duas tabelas e garantir a integridade referencial dos dados.


Conceitos Principais

  • Integridade Referencial: Impede a inserção de valores na tabela de destino (tabela filha) que não existam na tabela referenciada (tabela pai), evitando registros órfãos.
  • Relacionamento Pai e Filho: A tabela que contém a chave primária é chamada de tabela pai ou referenciada; a tabela que contém a chave estrangeira é a tabela filha.
  • Mecanismo de Armazenamento: No MySQL, o suporte padrão e completo a chaves estrangeiras requer o uso do engine InnoDB.

Exemplos Práticos de Sintaxe

1. Criando a chave estrangeira junto com a tabela (CREATE TABLE)

-- Tabela Pai (Pessoa)
CREATE TABLE Pessoa (
    ID_Pessoa INT PRIMARY KEY AUTO_INCREMENT,
    Nome VARCHAR(255) NOT NULL
);

-- Tabela Filha (Carro) com a Chave Estrangeira
CREATE TABLE Carro (
    ID_Carro INT PRIMARY KEY AUTO_INCREMENT,
    Modelo VARCHAR(255),
    ID_Pessoa INT,
    CONSTRAINT fk_Pessoa_Carro FOREIGN KEY (ID_Pessoa) REFERENCES Pessoa(ID_Pessoa)
) ENGINE = InnoDB;

2. Adicionando uma chave estrangeira a uma tabela existente (ALTER TABLE)

ALTER TABLE Carro
ADD CONSTRAINT fk_Pessoa_Carro
FOREIGN KEY (ID_Pessoa) REFERENCES Pessoa(ID_Pessoa);