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.
- 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
);
- 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)
);
- 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)
);
- 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)
);
- 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
);
- 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:
- TIME – O tipo de dados TIME é usado para armazenar um horário. Exemplo:
sql
CREATE TABLE compromissos (
id INTEGER,
titulo VARCHAR(50),
hora TIME
);
- 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
);
- 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
);
- 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);