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: