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:
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:
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:
Aqui, adicionamos uma nova coluna nationality com o tipo de dados STRING à tabela de atores.
ALTERTABLE actor ADD nationality String(32767);Tecnologia
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:
ALTERTABLE table_name RENAMECOLUMN old_column_name TO new_column_name;Tecnologia
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:
ALTERTABLE actor RENAMECOLUMN last_name TO family_name;Tecnologia
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:
Refletindo o que foi dito acima em last_update, uso a seguinte consulta:
ALTERTABLE actor ALTERCOLUMN last_update TIMESTAMP;Tecnologia
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;Tecnologia
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:
ALTERTABLE actor DROPCOLUMN last_update;Tecnologia
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:
RENAMETABLE old_table_name TO new_table_name;Tecnologia
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:
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.
CREATETABLE actor (
actor_id String(32767),--unique identifier
first_name String(32767),
last_name String(32767),
last_update String(32767)--datetime of last update);Tecnologia
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*/CREATETABLE actor (
actor_id String(32767),--unique internal identifier
first_name String(32767),
last_name String(32767),
last_update String(32767)--datetime of last update);Tecnologia
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:
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:
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:
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.
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.
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
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
CREATECrie uma tabela e suas colunas junto com seu tipo de dados.
CREATE TABLEALTERModifique os nomes das colunas e adicione ou exclua uma coluna.
ALTER TABLERENAMEAltere o nome da tabela.
RENAME TABLECOMMENTAdicione uma explicação ao código SQL para que outros membros da equipe possam revisar.
--/* ……*/TRUNCATERemover dados de uma tabela sem excluir a tabela.
TRUNCATE TABLEDROPExclua a tabela com seus dados.
DROP TABLEComandos 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: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 usariaCREATE TABLEcomo tal: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:Comando ADD em ALTER
Para adicionar uma nova coluna usando
ALTER, combinamos o comandoALTERcom o comandoADD, conforme mostrado abaixo:Aqui, adicionamos uma nova coluna
nationalitycom o tipo de dadosSTRINGà tabela de atores.Todos os comandos
ALTERem 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
RENAMEemALTERda seguinte forma:Por exemplo, vamos alterar o nome da coluna
last_nameparafamily_namepara garantir que não haja confusão, quer se trate de um nome do meio ou de um sobrenome. Nesse caso, consultarei o seguinte:Comando MODIFY em ALTER
Os tipos de dados definem as propriedades da coluna e influenciam a qualidade dos dados. Por exemplo,
last_updatefoi definido comoString(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
MODIFYno SQL:Refletindo o que foi dito acima em
last_update, uso a seguinte consulta:Comando DROP em ALTER
A última opção que o site
ALTERoferece é eliminar uma coluna. Há vários motivos pelos quais eu precisariaDROPuma coluna, que incluem, mas não se limitam a: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.
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
DROPremove os dados e o cabeçalho, como se a coluna nunca tivesse existido.Depois de perceber que a coluna
last_updatefornece poucas informações além de se o banco de dados foi atualizado, decidi eliminá-la usando a seguinte consulta:Comando RENAME no SQL
O comando
RENAMEse aplica apenas à alteração do nome da tabela e não deve ser confundido com os recursosALTER'sRENAME. De fato, para alterar o nome de uma tabela, a consulta é simples:A tabela
actorcontém apenas nomes e não inclui outras informações sobre os atores. Portanto, faz sentido esclarecer isso alterando o nome da tabela para: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:
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_idelast_updatenão são intuitivos e exigem esclarecimento por meio de um comentário.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.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
TRUNCATEno Excel pode ser obtido selecionando todos os dados sob o nome da coluna e pressionando delete. No SQL, eu escrevo:Se o
actorprecisar ser truncado, eu o executo:O resultado seria uma tabela com apenas nomes de colunas e nenhum valor.
Comando DROP no SQL
Ao contrário de
TRUNCATE, o comando DDLDROPexclui 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 comandoDROPtem uma estrutura semelhante à da consultaTRUNCATE:Para que você possa excluir o ator da tabela, é tão simples quanto
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: