Inserto a granel del servidor SQL

Inserto a granel del servidor SQL
Como su nombre indica, la inserción a granel se refiere a una técnica de insertar una gran cantidad de datos rápidamente desde un texto o archivo CSV en una tabla o vista SQL Server o Ver. Es una característica muy útil cuando se realiza la restauración desde la copia de seguridad, ya que solo requiere que lidie con la configuración mínima. Discutamos cómo podemos realizar la inserción masiva en SQL Server.

Requisitos

Para seguir con este artículo, necesitará:

  1. Instancia de servidor SQL.
  2. Muestra CSV o archivo de texto.

Para la ilustración, tenemos un archivo CSV que contiene 1000 registros. Puede descargar un archivo de muestra en el siguiente enlace:

Enlace de datos de muestra de SQL Server

Paso 1: Crear base de datos

El primer paso es crear una base de datos para importar el archivo CSV. Para nuestro ejemplo, llamaremos a la base de datos.

bulk_insert_db.

Podemos una consulta como:

Crear base de datos bulk_insert_db;

Una vez que tenemos la configuración de la base de datos, podemos continuar e insertar los datos requeridos.

Importar archivo CSV usando SQL Server Management Studio

Podemos importar el archivo CSV a la base de datos utilizando el Asistente de importación SSMS. Abra el estudio de administración de SQL Server e inicie sesión en su instancia de servidor.

En el panel de la izquierda, seleccione su base de datos y haga clic derecho.

Navegue a la tarea -> Importar archivo plano.

Esto iniciará el Asistente de importación y le permitirá importar su archivo CSV a su base de datos.

Haga clic en Siguiente para continuar al siguiente paso. En la siguiente parte, seleccione la ubicación de su archivo CSV, configure el nombre de su tabla y seleccione el esquema.

Puede dejar la opción de esquema como predeterminado.

Haga clic en Siguiente para obtener una vista previa de los datos. Asegúrese de que los datos sean proporcionados por el archivo CSV seleccionado.

El siguiente paso le permitirá modificar varios aspectos de las columnas de la tabla. Para nuestro ejemplo, establezcamos la columna de identificación como la clave principal y permitamos NULL en la columna del país.

Con todo establecido, haga clic en Finalizar para iniciar el proceso de importación. Obtendrá éxito si los datos se han importado con éxito.

Para confirmar que los datos se insertan en la base de datos, consulte la base de datos como:

usar bulk_insert_db;
Seleccione Top 10 * de Bulk_insert_Sample;

Esto debería devolver los primeros 10 registros del archivo CSV.

Inserto masivo usando t-sql

En algunos casos, no tiene acceso a una interfaz GUI para importar y exportar datos. Por lo tanto, es importante aprender cómo podemos realizar la operación anterior puramente fuera de las consultas SQL.

El primer paso es configurar la base de datos. Para este, podemos llamarlo bulk_insert_db_copy:

Crear base de datos bulk_insert_db_copy;

Esto debería volver:

Comandos completados con éxito.
Tiempo de finalización:

El siguiente paso es configurar nuestro esquema de base de datos. Nos referiremos al archivo CSV para determinar cómo crear nuestra tabla.

Suponiendo que tenemos un archivo CSV con los encabezados como:

Podemos modelar la tabla como se muestra:

crear tabla bulk_insert_table (
ID int primaria no identidad nula (100,1),
FirstName Varchar (50) No NULL,
LastName Varchar (50) No NULL,
Envíe un correo electrónico a Varchar (255) no nulo,
Varchar país (50),
Profesion Varchar (50)
);

Aquí, creamos una tabla con las columnas como encabezados del CSV.

NOTA: Dado que el valor de identificación comienza en A100 y aumenta en 1, utilizamos la propiedad de identidad (100,1).

Obtenga más información aquí: https: // Linuxhint.com/reset-ididentity-column-sql-server/

El último paso es insertar los datos. Una consulta de ejemplo es como se muestra a continuación:

Insertar a granel bulk_insert_table
de ''
con (firstrow = 2,
field terminator = ',',
RowTerminator = '\ n'
);

Aquí, usamos la consulta de inserción a granel seguido del nombre de la tabla a la que deseamos insertar los datos. Siguiente es la declaración de DEFR seguida de la ruta al archivo CSV.

Finalmente, usamos la cláusula con especificar las propiedades de importación. El primero es Firstrow que le dice a SQL Server que los datos comienzan en la fila 2. Esto es útil si su archivo CSV contiene encabezado de datos.

La segunda parte es FieldTerminator que especifica el delimitador para su archivo CSV. Tenga en cuenta que no existe un estándar para los archivos CSV, por lo tanto, puede incluir otros delimitadores como espacios, períodos, etc.

La tercera parte es RowTerminator que describe un registro en el archivo CSV. En nuestro caso una línea = un registro.

Ejecutar el código anterior debería devolver:

(1000 filas afectadas)
Tiempo de finalización:

Puede verificar los datos existe ejecutando la consulta:

Seleccione Top 10 * de Bulk_insert_table;

Esto debería volver:

Y con eso, ha insertado un archivo CSV masivo en su base de datos de SQL Server.

Conclusión

Esta guía explora cómo insertar los datos en masa en una tabla o vista de base de datos de SQL Server. Consulte nuestro otro gran tutorial en SQL Server:

https: // linuxhint.com/categoría/ms-sql-server/

Feliz SQL!!!