Pular para o conteúdo principal

Comandos SQL DDL: O guia definitivo

Aprenda sobre os comandos SQL DDL e como eles ajudam a definir e gerenciar a estrutura dos objetos do banco de dados.
Actualizado 30 de jul. de 2024  · 11 min de leitura

A Structured Query Language (SQL) é essencial para que os profissionais de dados obtenham insights dos bancos de dados. Um banco de dados consiste em várias tabelas e há diferentes tipos de SQL , desde PostgreSQL até Snowflake, que você pode usar.

Os comandos da linguagem de definição de dados (DDL) no SQL são usados para definir e gerenciar a estrutura dos objetos do banco de dados. Neste artigo, explicarei os comandos DDL em SQL com exemplos usando um banco de dados de filmes. Vamos começar!

O que são comandos DDL no SQL?

Os comandos da linguagem de definição de dados (DDL) permitem que eu defina e gerencie um esquema em SQL. Em poucas palavras, um esquema em SQL é um projeto que define como os dados são organizados em um banco de dados e como são gerenciadas as relações entre as diferentes tabelas do banco de dados.

Os comandos DDL consistem em diferentes comandos com diferentes funcionalidades, que discutirei na seguinte ordem:

Comando DDL

DESCRIÇÃO

SYNTAX

CREATE

Crie uma tabela e suas colunas junto com seu tipo de dados.

CREATE TABLE

ALTER

Modifique os nomes das colunas e adicione ou exclua uma coluna.

ALTER TABLE

RENAME

Altere o nome da tabela.

RENAME TABLE

COMMENT

Adicione uma explicação ao código SQL para que outros membros da equipe possam revisar.

--

/* …

…*/

TRUNCATE

Remover dados de uma tabela sem excluir a tabela.

TRUNCATE TABLE

DROP

Exclua a tabela com seus dados.

DROP TABLE

Comandos DDL em SQL com exemplos

Agora que temos uma compreensão básica dos comandos DDL e de suas finalidades, vamos explorar alguns exemplos práticos usando o banco de dados Movies.

Comando CREATE no SQL

Quando preciso criar uma nova tabela, uso o comando CREATE TABLE, conforme mostrado abaixo:

CREATE TABLE table_name (
    column_1 datatype,
    column_2 datatype,
    ...,
    column_n datatype
);

No exemplo acima, defino colunas com diferentes tipos de dados. O SQL oferece suporte a vários tipos de dados, embora os tipos mais comuns sejam geralmente STRING (texto), INT (números inteiros), FLOAT (números decimais) e DATE (data).

Por exemplo, se eu quisesse criar a tabela actor, eu usaria CREATE TABLE como tal:

CREATE TABLE actor (
    actor_id String(32767),
    first_name String(32767),
    last_name String(32767),
    last_update String(32767)
);

Onde:

  • actor é o nome da tabela
  • actor_id é um nome de coluna cujo conteúdo deve estar no formato de texto (String) e não deve exceder 32767 caracteres.
  • first_name é um nome de coluna cujo conteúdo deve estar no formato de texto (String) e não deve exceder 32767 caracteres.
  • last_name é um nome de coluna cujo conteúdo deve estar no formato de texto (String) e não deve exceder 32767 caracteres.
  • last_update é um nome de coluna cujo conteúdo deve estar no formato de texto (String) e não deve exceder 32767 caracteres.

Depois que eu executar a consulta, a nova tabela ficará visível junto com as outras tabelas, para que eu possa consultá-la a qualquer momento.

Comando ALTER no SQL

Usando o ALTER no SQL, posso atualizar uma tabela sem que você tenha que criar outra tabela e excluir a antiga. As organizações podem ter milhares de tabelas, e é essencial que você saiba como manter os dados atualizados sem correr o risco de perda de dados.

É importante observar que há várias maneiras de usar o site ALTER, inclusive:

  • Adicionando novas colunas em uma tabela
  • Renomeando colunas em uma tabela
  • Modificando colunas em uma tabela
  • Eliminação de colunas em uma tabela

Comando ADD em ALTER

Para adicionar uma nova coluna usando ALTER, combinamos o comando ALTER com o comando ADD, conforme mostrado abaixo:

ALTER TABLE table_name ADD column_name datatype;

Aqui, adicionamos uma nova coluna nationality com o tipo de dados STRING à tabela de atores.

ALTER TABLE actor ADD nationality String(32767);

Todos os comandos ALTER em SQL seguem uma estrutura semelhante, o que torna o SQL uma linguagem de programação natural para você aprender e dominar.

Comando RENAME em ALTER

Sempre que preciso alterar o nome de uma coluna, uso o comando RENAME em ALTER da seguinte forma:

ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;

Por exemplo, vamos alterar o nome da coluna last_name para family_name para garantir que não haja confusão, quer se trate de um nome do meio ou de um sobrenome. Nesse caso, consultarei o seguinte:

ALTER TABLE actor RENAME COLUMN last_name TO family_name;

Comando MODIFY em ALTER

Os tipos de dados definem as propriedades da coluna e influenciam a qualidade dos dados. Por exemplo, last_update foi definido como String(text), mas os dados mostram claramente que ele representa data e hora.

Observando os diferentes tipos de dados e consultando os dados da coluna, o tipo de dados apropriado é TIMESTAMP.

A atualização adequada do tipo de dados de uma coluna facilita a agregação e a filtragem dos dados por data usando outros comandos SQL. Veja como usamos o MODIFY no SQL:

ALTER TABLE table_name ALTER COLUMN column_name datatype;

Refletindo o que foi dito acima em last_update, uso a seguinte consulta:

ALTER TABLE actor ALTER COLUMN last_update TIMESTAMP;

Comando DROP em ALTER

A última opção que o site ALTER oferece é eliminar uma coluna. Há vários motivos pelos quais eu precisaria DROP uma coluna, que incluem, mas não se limitam a:

  • Informações que não são mais relevantes,
  • Informações duplicadas, em que a mesma coluna é encontrada em outra tabela,
  • Problemas de qualidade de dados,
  • Otimize o espaço de armazenamento.

Eliminar uma coluna no SQL é fácil, mas você deve usá-lo com cautela, pois nem sempre é possível reverter uma ação de eliminação de coluna.

ALTER TABLE table_name DROP COLUMN column_name;

O comando para remover uma coluna é semelhante ao de renomear uma coluna, mas os dois não são não são iguais. Renomear o nome da coluna mantém os dados dentro da coluna, mas altera o cabeçalho. Por outro lado, o comando DROP remove os dados e o cabeçalho, como se a coluna nunca tivesse existido.

Depois de perceber que a coluna last_update fornece poucas informações além de se o banco de dados foi atualizado, decidi eliminá-la usando a seguinte consulta:

ALTER TABLE actor DROP COLUMN last_update; 

Comando RENAME no SQL

O comando RENAME se aplica apenas à alteração do nome da tabela e não deve ser confundido com os recursos ALTER's RENAME. De fato, para alterar o nome de uma tabela, a consulta é simples:

RENAME TABLE old_table_name TO new_table_name;

A tabela actor contém apenas nomes e não inclui outras informações sobre os atores. Portanto, faz sentido esclarecer isso alterando o nome da tabela para:

RENAME TABLE actor TO actor_names;

COMMENT em SQL

Os comentários em SQL são cruciais para a clareza e o contexto, tornando suas consultas mais fáceis de entender e manter. Ele ajuda a explicar a lógica complexa, documentar alterações e justificar determinadas escolhas. No SQL, você pode adicionar comentários de duas maneiras:

  • Comentários de linha única
  • Comentários com várias linhas

Vamos vê-los em ação.

Comentário de linha única no SQL

O comentário em uma única linha geralmente é feito junto com o código, como abaixo. Assim, posso ler o comentário de um colega enquanto leio o código.

Na tabela actor, actor_id e last_update não são intuitivos e exigem esclarecimento por meio de um comentário.

CREATE TABLE actor (
 actor_id String(32767), --unique identifier
 first_name String(32767),
 last_name String(32767),
 last_update String(32767)--datetime of last update
);

O comentário em SQL é um comando diferente dos demais deste artigo porque não chama uma função COMMENT. Os dois hífens sem espaço entre '--' indicam o início de um comentário. Tudo o que for escrito depois disso não será considerado parte do código.

Comentários de várias linhas no SQL

Quando a explicação for mais longa, use comentários de várias linhas. É preferível que você explique uma função ou forneça um contexto detalhado. Para adicionar um comentário de várias linhas no SQL, comece com /* e termine com */. O mecanismo SQL ignora tudo o que for escrito entre /* e */ e não é executado como parte da consulta.

/* Create a table `actor` with the actors’ names. Store first and last name, and keep track of any updates*/
CREATE TABLE actor (
 actor_id String(32767), --unique internal identifier
 first_name String(32767),
 last_name String(32767),
 last_update String(32767)--datetime of last update
);

Comando TRUNCATE no SQL

Truncar uma tabela não é o mesmo que excluí-la. A truncagem remove todos os dados, mas mantém a estrutura da tabela intacta, enquanto a exclusão remove a tabela inteira, incluindo sua estrutura. Você deve tomar cuidado para escolher o comando adequado para a finalidade adequada.

O equivalente a TRUNCATE no Excel pode ser obtido selecionando todos os dados sob o nome da coluna e pressionando delete. No SQL, eu escrevo:

TRUNCATE TABLE table_name;

Se o actor precisar ser truncado, eu o executo:

TRUNCATE TABLE actor;

O resultado seria uma tabela com apenas nomes de colunas e nenhum valor.

Comando DROP no SQL

Ao contrário de TRUNCATE, o comando DDL DROP exclui completamente a tabela e todos os seus valores. Você deve ter cuidado ao executar esses comandos, pois essa ação nem sempre pode ser reversível. O comando DROP tem uma estrutura semelhante à da consulta TRUNCATE:

DROP TABLE table_name;

Para que você possa excluir o ator da tabela, é tão simples quanto

DROP TABLE actor;

Embora diferentes versões de SQL possam exigir pequenas alterações na sintaxe, os comandos DDL acima são basicamente os mesmos, independentemente da versão de SQL que você estiver usando.

Comandos DDL versus outros tipos de comandos

Na seção anterior, expliquei como os comandos DDL definem a estrutura das tabelas e atualizam seu conteúdo ou propriedades conforme necessário. Outros tipos de comandos SQL permitem que você selecione, agregue, atualize e até mesmo junte tabelas para obter uma visão diferente dos dados, e cada conjunto de comandos tem uma finalidade específica.

Comando

Definição

Finalidade

DQL

Linguagem de consulta de dados

Obter dados do banco de dados com base em um critério

DML

Linguagem de manipulação de dados

Manipular tabelas no banco de dados com mais funcionalidade do que ALTER.

DCL

Linguagem de controle de dados

Controles de permissão sobre acesso e autoridade.

TCL

Linguagem de controle de transações

Atualiza o banco de dados com alterações alteradas usando comandos DML

Desenvolva suas habilidades em SQL com a DataCamp

A boa qualidade dos dados é obtida quando eles são bem definidos e estruturados. Os comandos DDL no SQL ajudam os profissionais de dados a criar e manter um banco de dados estruturado. Outros comandos SQL, como os comandos DML, permitem que você visualize, agregue, insira, filtre e mescle dados. Saiba mais sobre SQL e desenvolva suas habilidades explorando os seguintes recursos:

Temas

Continue sua jornada SQL hoje mesmo!

curso

Introduction to SQL

2 hr
891.9K
Learn how to create and query relational databases using SQL in just two hours.
Ver DetalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado
SQL Programming Language

blog

O que é SQL? - A linguagem essencial para o gerenciamento de bancos de dados

Saiba tudo sobre o SQL e por que ele é a linguagem de consulta ideal para o gerenciamento de bancos de dados relacionais.
Summer Worsley's photo

Summer Worsley

16 min

tutorial

Tutorial do MySQL: Um guia abrangente para iniciantes

Descubra o que é o MySQL e como começar a usar um dos sistemas de gerenciamento de banco de dados mais populares.

tutorial

Tutorial de visão geral do banco de dados SQL

Neste tutorial, você aprenderá sobre bancos de dados em SQL.
DataCamp Team's photo

DataCamp Team

3 min

tutorial

Introdução aos acionadores SQL: Um guia para desenvolvedores

Saiba como usar os acionadores SQL para automatizar tarefas, manter a integridade dos dados e melhorar o desempenho do banco de dados. Experimente exemplos práticos como os comandos CREATE, ALTER e DROP no MySQL e no Oracle.
Oluseye Jeremiah's photo

Oluseye Jeremiah

13 min

tutorial

Tutorial do SQL Server: Desbloqueie o poder do gerenciamento de dados

Explore o gerenciamento de dados com nosso tutorial do SQL Server. Do básico ao uso avançado, aprimore suas habilidades e navegue no SQL Server com confiança.

Kevin Babitz

13 min

tutorial

Exemplos e tutoriais de consultas SQL

Se você deseja começar a usar o SQL, nós o ajudamos. Neste tutorial de SQL, apresentaremos as consultas SQL, uma ferramenta poderosa que nos permite trabalhar com os dados armazenados em um banco de dados. Você verá como escrever consultas SQL, aprenderá sobre
Sejal Jaiswal's photo

Sejal Jaiswal

21 min

See MoreSee More