Inserção em massa do SQL Server

Inserção em massa do SQL Server
Como o nome sugere, a inserção em massa refere -se a uma técnica de inserir uma grande quantidade de dados rapidamente de um texto ou arquivo CSV em uma tabela ou exibição do servidor SQL. É um recurso muito útil ao realizar a restauração do backup, pois exige que você lide com a configuração mínima nua. Vamos discutir como podemos executar a inserção em massa no SQL Server.

Requisitos

Para acompanhar este artigo, você precisará:

  1. Instância do SQL Server.
  2. Amostra CSV ou arquivo de texto.

Para ilustração, temos um arquivo CSV contendo 1000 registros. Você pode baixar um arquivo de amostra no link abaixo:

Link de dados de amostra do servidor SQL

Etapa 1: Crie banco de dados

O primeiro passo é criar um banco de dados para importar o arquivo CSV. Para o nosso exemplo, chamaremos o banco de dados.

Bulk_insert_db.

Podemos uma consulta como:

criar banco de dados BULK_INSERT_DB;

Depois de configurarmos o banco de dados, podemos prosseguir e inserir os dados necessários.

Importar arquivo CSV usando o SQL Server Management Studio

Podemos importar o arquivo CSV para o banco de dados usando o Assistente de importação do SSMS. Abra o SQL Server Management Studio e faça o login na instância do seu servidor.

No painel esquerdo, selecione seu banco de dados e clique com o botão direito.

Navegue para a tarefa -> importar arquivo plano.

Isso lançará o Assistente de importação e permitirá que você importe seu arquivo CSV para o seu banco de dados.

Clique em Avançar para prosseguir para a próxima etapa. Na próxima parte, selecione a localização do seu arquivo CSV, defina o nome da tabela e selecione o esquema.

Você pode deixar a opção de esquema como padrão.

Clique em Avançar para visualizar os dados. Verifique se os dados são fornecidos pelo arquivo CSV selecionado.

A próxima etapa permitirá que você modifique vários aspectos das colunas da tabela. Para o nosso exemplo, vamos definir a coluna de identificação como a chave primária e permitir nulo na coluna do país.

Com tudo definido, clique em Concluir para iniciar o processo de importação. Você terá sucesso se os dados tiverem sido importados com sucesso.

Para confirmar que os dados são inseridos no banco de dados, consulte o banco de dados como:

Use BULK_INSERT_DB;
Selecione Top 10 * em Bulk_insert_sample;

Isso deve retornar os 10 primeiros registros do arquivo CSV.

Inserção em massa usando t-sql

Em alguns casos, você não obtém acesso a uma interface da GUI para importar e exportar dados. Portanto, é importante aprender como podemos executar a operação acima, puramente fora das consultas SQL.

O primeiro passo é configurar o banco de dados. Para este, podemos chamá -lo de bulk_insert_db_copy:

criar banco de dados BULK_INSERT_DB_COPY;

Isso deve retornar:

Comandos concluídos com sucesso.
Hora de conclusão:

O próximo passo é configurar nosso esquema de banco de dados. Vamos nos referir ao arquivo CSV para determinar como criar nossa tabela.

Supondo que tenhamos um arquivo CSV com os cabeçalhos como:

Podemos modelar a tabela como mostrado:

Criar tabela Bulk_insert_table (
Id int a chave primária, não identidade nula (100,1),
primeiro nome Varchar (50) não nulo,
LastName Varchar (50) não nulo,
Email Varchar (255) não nulo,
Country Varchar (50),
profissão Varchar (50)
);

Aqui, criamos uma tabela com as colunas como cabeçalhos do CSV.

OBSERVAÇÃO: Como o valor de identificação começa na A100 e aumenta em 1, usamos a propriedade de identidade (100,1).

Saiba mais aqui: https: // linuxhint.com/reset-identidade-column-sql-server/

O último passo é inserir os dados. Um exemplo de consulta é como mostrado abaixo:

Insira a granel bulk_insert_table
de ''
com (firstrow = 2,
FieldTerminator = ',',
RowMerminator = '\ n'
);

Aqui, usamos a consulta de inserção em massa seguida pelo nome da tabela à qual desejamos inserir os dados. Em seguida, é a declaração do caminho seguida pelo caminho para o arquivo CSV.

Finalmente, usamos a cláusula com especificar propriedades de importação. O primeiro é o Firstrow, que informa ao SQL Server que os dados começam na linha 2. Isso é útil se o seu arquivo CSV contiver cabeçalho de dados.

A segunda parte é o FieldTermingador que especifica o delimitador para o seu arquivo CSV. Lembre -se de que não há padrão para arquivos CSV, portanto, pode incluir outros delimitadores, como espaços, períodos, etc.

A terceira parte é o RowMerminator, que descreve um registro no arquivo CSV. No nosso caso, uma linha = um registro.

A execução do código acima deve retornar:

(1000 linhas afetadas)
Hora de conclusão:

Você pode verificar se os dados existem executando a consulta:

Selecione Top 10 * de Bulk_insert_table;

Isso deve retornar:

E com isso, você inseriu com sucesso um arquivo CSV em massa no banco de dados do SQL Server.

Conclusão

Este guia explora como inserir dados em massa em uma tabela de banco de dados SQL Server. Confira nosso outro ótimo tutorial no SQL Server:

https: // linuxhint.com/categoria/ms-sql-server/

Feliz sql!!!