Tabela CREATE, ALTER, DROP do SQL Server [exemplos T-SQL]

⚡ Resumo Inteligente

As tabelas do SQL Server armazenam dados em linhas e colunas. O Transact-SQL usa CREATE TABLE para criar uma tabela, ALTER TABLE para adicionar ou alterar colunas e DROP TABLE para remover a tabela, seus dados e sua estrutura.

  • 🧱 O que é uma mesa? Uma tabela armazena dados em linhas e colunas e é o objeto básico para armazenar dados em um banco de dados.
  • 🛠️ CRIAR A TABELA: A instrução CREATE TABLE define cada coluna com um nome, um tipo de dados e uma configuração NULL ou NOT NULL.
  • 📋 Criar a partir de um existente: SELECT … INTO copia as colunas e linhas escolhidas de uma tabela existente para uma tabela totalmente nova.
  • ➕ ALTERAR A TABELA: ALTER TABLE … ADD adiciona novas colunas a uma tabela sem recriá-la.
  • 🗑️ DROP TABLE: O comando DROP TABLE remove a tabela inteira, incluindo seus dados e sua estrutura.
  • 🖱️ Designer da mesa: O SQL Server Management Studio também permite criar e alterar tabelas visualmente por meio do Designer de Tabelas.

Exemplos de CREATE, ALTER e DROP de tabelas no SQL Server com T-SQL

O que é uma Tabela?

Uma tabela é um objeto em SQL Server que armazena dados em formato de linhas e colunas. O diagrama abaixo mostra as linhas e colunas, respectivamente.

Diagrama de uma tabela que armazena dados em linhas e colunas.

Como criar uma tabela no SQL Server com T-SQL

O primeiro passo para armazenar dados é criar uma tabela no banco de dados onde os dados serão armazenados. Depois de criar a tabela, você pode continuar inserindo linhas nela.

Você pode criar uma tabela das seguintes maneiras:

  • T-SQL: crie uma nova tabela definindo todas as colunas e seus tipos de dados.
  • T-SQL: criar uma nova tabela usando uma tabela existente.
  • Utilizando o Designer de Tabelas.

Vamos estudar isso em detalhes.

T-SQL: Criar uma nova tabela definindo todas as colunas e seus tipos de dados.

A seguir, apresentamos a sintaxe para criar uma tabela no SQL Server.

Sintaxe:

CREATE TABLE tableName
( 
  column_1 datatype [ NULL | NOT NULL ],
  column_2 datatype [ NULL | NOT NULL ],
  ...
);

Aqui,

  • O parâmetro tableName denota o nome da tabela que você irá criar.
  • Os parâmetros coluna_1, coluna_2… denotam as colunas a serem adicionadas à tabela.
  • Uma coluna deve ser especificada como NULL ou NOT NULL. Caso contrário, o SQL Server assume o valor NULL como padrão.

Vamos criar uma tabela básica com duas colunas.

Inquérito:

CREATE TABLE COURSE
(
Course_ID Int,
Course_Name Varchar(10)
)

Pré-requisito: Selecione o banco de dados onde você precisa criar a tabela.

Passo 1) Execute a consulta clicando em Executar. Antes de executar a consulta, nenhuma tabela existe, como mostrado abaixo.

O Explorador de Objetos não exibe nenhuma tabela de Cursos antes da execução da instrução CREATE.

Após executar a consulta, clique no botão Atualizar; a nova tabela agora existe com o nome Curso, conforme mostrado abaixo.

A tabela de cursos é exibida no Explorador de Objetos após a execução e atualização.

Passo 2) Insira alguns dados. As capturas de tela abaixo mostram a tabela Curso recém-criada, pronta para receber linhas.

A tabela Curso recém-criada foi selecionada no Explorador de Objetos antes da inserção de dados.

Estrutura da tabela de cursos com suas duas colunas, mostrada antes da inserção de dados.

Até o momento, a tabela existe apenas como um todo, mas ainda não contém dados.

O Transact-SQL fornece a instrução INSERT para inserir dados em uma tabela. Com essa instrução, você pode inserir uma ou mais linhas em uma tabela.

Sintaxe:

INSERT INTO tableName
(column_1, column_2, ... )
VALUES
(expression_1, expression_2, ... ),
(expression_1, expression_2, ... ),
...;

A sintaxe acima mostra a forma básica do comando ao usar a palavra-chave VALUES para inserir dados em uma tabela.

Vamos inserir quatro linhas usando o comando INSERT.

Insert into COURSE values (1,'SQL');
Insert into COURSE values (2,'Python');
Insert into COURSE values (3,'SQL');
Insert into COURSE values (4,'C');

A imagem abaixo mostra que a inserção de quatro linhas foi bem-sucedida.

Painel de mensagens confirmando a inserção de quatro linhas na tabela Curso.

Passo 3) Utilize a instrução SELECT para visualizar os dados. Para visualizar dados no SQL Server, utilize a seguinte sintaxe:

SELECT expression
FROM tableName
[WHERE condition];

Consulta de exemplo:

SELECT * FROM COURSE;

A tabela foi criada e agora contém quatro registros. Observe que você pode criar registros com valores duplicados em qualquer uma das colunas, pois não há limites. restrições.

Grade de resultados mostrando as quatro linhas de Curso retornadas por SELECT

T-SQL: Criar uma nova tabela usando uma tabela existente

Suponha que você queira outra tabela semelhante à tabela CURSO criada acima, mas precise apenas da coluna Nome_do_Curso e não da coluna ID_do_Curso.

Sintaxe:

SELECT (Column 1, …) INTO <New Table name> FROM <Old Table name>;

Consulta de exemplo:

SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;

Passo 1) Execute a consulta clicando em Executar. Uma nova tabela chamada COURSE_NAMES será criada com uma coluna e quatro registros copiados da tabela anterior, conforme mostrado abaixo.

Nova tabela COURSE_NAMES criada a partir de uma tabela existente usando SELECT INTO

Consulta de exemplo:

SELECT * FROM COURSE_NAMES;

O resultado abaixo lista os quatro registros de Course_Name na nova tabela COURSE_NAMES.

Grade de resultados mostrando os valores de Course_Name na tabela COURSE_NAMES.

Usando o Designer de Tabela

Você também pode criar uma tabela a partir do SQL Server Management Studio IDE usando o Designer de Tabelas.

Passo 1) Clique com o botão direito do mouse em Tabela > Nova > Tabela, como mostrado abaixo.

Clique com o botão direito do mouse em Tabela, selecione Novo e, em seguida, Tabela no Explorador de Objetos.

Passo 2) Insira os nomes das colunas e tipos de dadose escolha se cada coluna permite valores nulos.

Barra de ferramentas do Designer de Tabelas para definir uma nova tabela.

Grade do Designer de Tabelas com nomes de colunas, tipos de dados e opções para permitir valores nulos.

Passo 3) Pressione CTRL+S para salvar a tabela e insira o nome como Course_Title.

Selecione a caixa de diálogo Nome para salvar a nova tabela como Course_Title.

Após clicar em Atualizar, a nova tabela aparece com o nome Course_Title e uma coluna chamada Course_Name, conforme mostrado abaixo.

Tabela Course_Title com uma única coluna Course_Name no Explorador de Objetos

Alterar tabela no SQL Server

Existem duas maneiras de alterar uma tabela no SQL Server:

  • T-SQL: altere a tabela adicionando novas colunas.
  • Utilizando o Designer de Tabelas.

T-SQL: Altere a tabela inserindo colunas

A seguir, a sintaxe do comando ALTER em SQL:

Sintaxe:

 Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;

Inquérito:

ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);

Passo 1) Execute a consulta clicando em Executar. Uma nova coluna chamada Course_Duration agora existe na tabela Course_Title, como mostrado abaixo.

A instrução ALTER TABLE ADD adiciona a coluna Course_Duration.

Colunas Course_Title, incluindo a coluna Course_Duration recém-adicionada.

Usando o Designer de Tabela

Você também pode alterar uma tabela a partir da interface do usuário usando o Designer de Tabelas.

Passo 1) Clique com o botão direito do mouse na tabela existente > Design, como mostrado abaixo.

Clique com o botão direito do mouse na tabela Course_Title e escolha Design.

Passo 2) Adicione o nome da coluna como Course_Start_Date e selecione o tipo de dados.

Adicionando a coluna Course_Start_Date e seu tipo de dados no Designer de Tabelas.

Passo 3) Pressione CTRL+S para salvar a coluna recém-adicionada. Uma nova coluna chamada Course_Start_Date será criada na tabela Course_Title, conforme mostrado abaixo.

Tabela Course_Title mostrando a coluna Course_Start_Date salva.

Excluir tabela no SQL Server

Você exclui uma tabela quando ela não for mais necessária.

Existem duas maneiras de excluir uma tabela no SQL Server:

  • Utilizando o SQL Server Management Studio.
  • T-SQL: exclua a tabela com DROP TABLE.

Usando o SQL Server Management Studio

Passo 1) Clique com o botão direito do mouse na tabela existente > Excluir, para a tabela chamada Course_Title, conforme mostrado abaixo.

Clique com o botão direito do mouse na tabela Course_Title e selecione Excluir.

Passo 2) Na janela Excluir Objeto, clique em OK.

Janela de confirmação de exclusão de objeto com o botão OK

A tabela Course_Title foi excluída da lista de tabelas, conforme mostrado abaixo.

Lista de tabelas do Object Explorer após a exclusão da tabela Course_Title.

T-SQL: Excluir tabela

A seguir está a sintaxe para excluir uma tabela.

Sintaxe:

DROP TABLE <tableName>;

O parâmetro tableName é o nome da tabela que será excluída.

Inquérito:

DROP TABLE COURSE_NAMES;

Passo 1) Execute a consulta clicando em Executar. A tabela COURSE_NAMES será excluída da lista de tabelas, conforme mostrado abaixo.

A instrução DROP TABLE remove a tabela COURSE_NAMES.

Lista de tabelas do Object Explorer após a tabela COURSE_NAMES ser excluída.

Alternativamente, o código-fonte mostra um comando DELETE TABLE destinado a remover apenas as linhas (dados), mantendo a estrutura da tabela intacta, para que ela possa ser reutilizada posteriormente.

Sintaxe:

DELETE TABLE <Table name>;

Observação: Em T-SQL padrão, as linhas são removidas com DELETE FROM <table>e uma mesa é esvaziada rapidamente com TRUNCATE TABLE <table>A tabela inteira é removida com o comando DROP TABLE, mostrado acima.

Fatos interessantes!

  • Arquivos grandes, como XML ou imagens, podem ser armazenados em uma coluna usando tipos de dados de objetos grandes, como VARBINARY(MAX), VARCHAR(MAX) ou o tipo XML (o SQL Server não usa o tipo VARCHAR(MAX)). Oracle(nomes BLOB e CLOB no estilo).
  • O comando DELETE remove apenas linhas e pode ser revertido dentro de uma transação, enquanto o comando DROP remove toda a estrutura da tabela; no SQL Server, até mesmo o comando DROP pode ser revertido quando executado dentro de uma transação explícita.

Perguntas Frequentes

O comando DELETE remove as linhas selecionadas e registra tudo em log. O comando TRUNCATE remove rapidamente todas as linhas e redefine os valores de identidade. O comando DROP remove a tabela inteira, seus dados e sua estrutura. No SQL Server, os três comandos podem ser revertidos dentro de uma transação explícita.

Use o comando DROP TABLE IF EXISTS nome_da_tabela, disponível desde o SQL Server 2016. Ele remove a tabela quando presente e não faz nada quando ausente, evitando erros. Em versões anteriores, verifique o OBJECT_ID antes de excluir a tabela.ping.

O SQL Server não possui uma instrução RENAME TABLE. Em vez disso, execute o procedimento armazenado do sistema sp_rename, por exemplo, EXEC sp_rename 'nome_antigo', 'nome_novo'. Atualize as views, procedimentos e códigos dependentes posteriormente, pois sp_rename não altera essas referências automaticamente.

Sim. O comando ALTER TABLE tabela ALTER COLUMN coluna novo_tipo altera o tipo de dados de uma coluna, e o comando ALTER TABLE tabela DROP COLUMN coluna a remove. A alteração só terá sucesso se os dados existentes forem compatíveis, portanto, teste as conversões e faça um backup primeiro.

Defina restrições dentro do comando CREATE TABLE, como Course_ID INT PRIMARY KEY, ou adicione-as posteriormente com ALTER TABLE ADD CONSTRAINT. chave primária reforça a singularidade, enquanto um chave estrangeira Vincula linhas entre tabelas.

Uma tabela temporária, nomeada com o prefixo #, é criada no tempdb e descartada automaticamente ao final da sessão. Uma tabela permanente permanece ativa até que seja descartada manualmente. Tabelas temporárias são adequadas para resultados intermediários de curta duração dentro de um lote ou procedimento.

Sim. Travas deslizantes portáteis Copiloto do GitHub É possível gerar scripts CREATE, ALTER e DROP TABLE a partir de comandos em linguagem natural e sugerir colunas, tipos de dados e restrições. Sempre revise o esquema, as chaves e a possibilidade de valores nulos gerados antes de executá-los em produção.

Ferramentas de IA e aprendizado de máquina recomendam estruturas de tabela, tipos de dados e índices a partir de dados de amostra e padrões de consulta, sinalizam colunas redundantes ou com tamanho excessivo e alertam sobre operações DROP ou ALTER arriscadas. O desenvolvedor confirma cada sugestão antes de aplicá-la.

Resuma esta postagem com: