Cómo agregar un bloque o filas a una tabla de SQL
Cargando una tabla de una fila de base de datos SQL a la vez mediante el uso de INSERT
Conteúdo
La entrada de datos automática es posible, por ejemplo, si existen los datos en formato electrónico porque alguien ya ha introducido los datos manualmente. Si es así, transferir datos de un archivo de datos a otro es una tarea que una computadora puede realizar con la mínima intervención humana. Si conoces a las características de los datos de origen y la forma deseada de la tabla de destino, un ordenador puede realizar la transferencia de datos de forma automática.
Cómo copiar de un archivo de datos externa
Supongamos que usted está construyendo una base de datos para una nueva aplicación. Algunos datos que usted necesita ya existe en un archivo de computadora. El archivo puede ser un archivo plano o una tabla en una base de datos creada por un DBMS diferente de la que se utiliza. Los datos pueden estar en ASCII o EBCDIC código o en algún formato propietario arcano. A qué te dedicas?
Las primeras cosas que haces son la esperanza y rezar para que los datos que desea está en un formato ampliamente utilizado. Si los datos están en un formato popular, tiene una buena oportunidad de encontrar una utilidad de formato de conversión que puede traducir los datos en uno o más otro formatos populares.
Su entorno de desarrollo, probablemente, puede importar una de estas formatos- si estás De Verdad suerte, el entorno de desarrollo puede manejar el formato de datos actual directamente. En los ordenadores personales, los formatos de acceso, xBASE y MySQL son los más ampliamente utilizados. Si los datos que desea se encuentra en uno de estos formatos, la conversión debe ser fácil. Si el formato es menos común, puede que tenga que poner a través de una conversión de dos pasos.
Si los datos están en un formato antiguo, propiedad, o difunta, como último recurso, se puede recurrir a un servicio de traducción de datos profesional. Estas empresas se especializan en la traducción de los datos informáticos de un formato a otro.
Cómo transferir todas las filas entre tablas
Un problema menos grave que se trata de datos externa es tomar los datos que ya existe en una tabla combinando esos datos con datos compatibles en otra mesa. Este proceso funciona muy bien si la estructura de la segunda tabla es idéntica a la estructura de la primera tabla.
En ese caso, puede combinar el contenido de las dos tablas utilizando el UNIÓN operador relacional. El resultado es una tabla virtual (es decir, uno que no tiene existencia independiente) que contiene los datos de ambas tablas de origen.
Cómo transferir columnas y filas seleccionadas entre las tablas
En general, la estructura de los datos de la tabla fuente no es idéntica a la estructura de la tabla en la que desea insertar los datos. Tal vez sólo algunas de las columnas coinciden, y éstas son las columnas que desea transferir. Combinando SELECT declaraciones con un UNIÓN, puede especificar las columnas de las tablas de origen para incluir en la tabla de resultados virtual.
Mediante la inclusión de DÓNDE cláusulas en el SELECT declaraciones, que pueden restringir las filas que se colocan en la tabla de resultados a los que cumplen condiciones específicas.
Suponga que tiene dos tablas, clientes existentes y potenciales, y desea listar todos los que viven en el estado de Maine, que aparece en cualquiera de las tablas. Puede crear una tabla de resultados virtual que contiene la detallada deseada sólo tiene que utilizar el siguiente comando:
SELECT Nombre, LastNameFROM PROSPECTWHERE Estado = 'ME'UNIonselect Nombre, LastNameFROM CUSTOMERWHERE Estado =' ME '-
He aquí un vistazo más de cerca:
los SELECT declaraciones especifican que las columnas incluidas en la tabla de resultados son Nombre de pila y Apellido.
los DÓNDE cláusulas restringir las filas incluidos para aquellos con el valor 'YO' en el Estado columna.
los Estado la columna no está incluido en la tabla de resultados, pero está presente tanto en la perspectiva y las mesas de los clientes.
los UNIÓN operador combina los resultados de la SELECT declaración en el prospecto con los resultados de la SELECT el CLIENTE, elimina las filas duplicadas y, luego muestra el resultado.
Otra forma de copiar datos de una tabla en una base de datos a otro es un nido SELECT declaración dentro de un INSERT comunicado. Este método no crea una mesa- virtual en lugar, duplica los datos seleccionados. Usted puede tomar todas las filas de la tabla CLIENTE, por ejemplo, e insertar las filas en la tabla de perspectiva.
Por supuesto, esto sólo funciona si las estructuras de las tablas de clientes y prospectos son idénticos. Si desea colocar sólo aquellos clientes que viven en Maine en la tabla PERSPECTIVA, un simple SELECT con una condición en el DÓNDE cláusula hace el truco, como se muestra en el siguiente ejemplo:
INSERT INTO PROSPECTSELECT * FROM CUSTOMERWHERE Estado = 'ME' -
A pesar de que esta operación crea los datos redundantes, es posible que desee hacerlo de todos modos para mejorar el rendimiento de las consultas. Cuidado con la redundancia, sin embargo! Para mantener la consistencia de los datos, asegúrese de que no inserta, actualizar o eliminar filas en una tabla sin insertar, actualizar o eliminar las filas correspondientes en la otra tabla. Otro problema potencial es la posibilidad de que la INSERT declaración podría generar claves principales duplicadas.
Aun si un solo prospecto preexistente tiene una clave principal de ProspectID que coincide con la clave primaria correspondiente (ID de cliente) De un cliente que está tratando de insertar en la tabla PERSPECTIVA, la operación de inserción fracasará. Si ambas tablas tienen claves primarias autoincremental, usted no quiere que comienzan con el mismo número. Asegúrese de que los dos bloques de números están muy separadas unas de otras.