Introdução
DDL é o conjunto de comandos responsável por definir e modificar a estrutura do banco de dados: criar tabelas, alterar colunas, remover objetos. Operações DDL geralmente são irreversíveis — um DROP TABLE não pede confirmação, ele simplesmente executa.
CREATE TABLE
Cria uma nova tabela com suas colunas, tipos de dados e restrições.
CREATE TABLE clientes (
id INT PRIMARY KEY,
nomeVARCHAR(100) NOT NULL,
emailVARCHAR(150) UNIQUE,
criado_em DATE DEFAULT CURRENT_DATE
);
Neste exemplo, id é a chave primária, nome não pode ser nulo, email deve ser único em toda a tabela, e criado_em recebe a data atual automaticamente se nenhum valor for informado.
ALTER TABLE
Modifica uma tabela já existente — adiciona colunas, remove, renomeia, ou altera tipos.
-- Adicionando uma coluna nova
ALTER TABLE clientes ADD COLUMN telefoneVARCHAR(20);
-- Removendo uma coluna
ALTER TABLE clientes DROP COLUMN telefone;
-- Renomeando uma coluna
ALTER TABLE clientes RENAME COLUMN nomeTO nome_completo;
ALTER TABLE é o comando mais usado em migrações de banco de dados — toda vez que o sistema evolui e o esquema precisa acompanhar.
DROP TABLE
Remove uma tabela completamente, junto com todos os seus dados.
DROP TABLE clientes;
Sem volta. Por isso, em ambientes de produção, é comum exigir backups antes de executar qualquer DROP.
TRUNCATE TABLE
Remove todos os registros de uma tabela, mas preserva a estrutura dela.
TRUNCATE TABLE clientes;
A diferença para um DELETE sem cláusula WHERE é de desempenho: o TRUNCATE não processa linha por linha, ele simplesmente descarta o conteúdo inteiro de uma vez, sendo muito mais rápido em tabelas grandes. Em contrapartida, não dispara triggers e em vários bancos não pode ser revertido.
Top comments (0)