Curso
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 |
|
|
Crie uma tabela e suas colunas junto com seu tipo de dados. |
|
|
|
Modifique os nomes das colunas e adicione ou exclua uma coluna. |
|
|
|
Altere o nome da tabela. |
|
|
|
Adicione uma explicação ao código SQL para que outros membros da equipe possam revisar. |
|
|
|
Remover dados de uma tabela sem excluir a tabela. |
|
|
|
Exclua a tabela com seus dados. |
|
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 tabelaactor_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:
- Aprenda os diferentes tipos de comandos para trabalhar com o SQL
- Mantenha uma folha de consulta de SQL à mão para que você se familiarize com as práticas recomendadas e os comandos usados com frequência.
- Prepare-se para uma entrevista sobre SQL com o nosso Guia de entrevistas sobre SQL


