Como adicionar um bloco ou linhas a uma tabela SQL

Carregando um banco de dados SQL tabela uma linha de cada vez, usando INSERIR

declarações podem ser tedioso, especialmente se isso é tudo o que você faz. Mesmo inserir os dados em um formulário ecrã ergonómico com cuidado humano de engenharia fica cansativo depois de um tempo. Claramente, se você tem uma maneira confiável para indicar os dados automaticamente, você vai encontrar ocasiões em que a entrada automática é melhor do que ter uma pessoa sentar-se em um teclado e tipo.

entrada de dados automática é viável, por exemplo, se os dados existem em formato electrónico porque alguém já entrou os dados manualmente. Se assim for, transferir dados de um arquivo de dados para outro é uma tarefa que um computador pode executar com a participação humana mínima. Se você conhece as características dos dados de origem e a forma desejada da tabela de destino, um computador pode executar a transferência de dados automaticamente.

Como copiar a partir de um arquivo de dados externa

Suponha que você está construindo um banco de dados para uma nova aplicação. Alguns dados que você precisa já existe em um arquivo de computador. O arquivo pode ser um arquivo simples ou uma tabela em um banco de dados criado por um DBMS diferente daquele que você usa. Os dados podem estar em ASCII ou código EBCDIC ou em algum formato proprietário arcano. O que você faz?

As primeiras coisas que você faz é esperar e rezar para que os dados que você quer está em um formato amplamente utilizado. Se os dados estiverem em um formato popular, você tem uma boa chance de encontrar um utilitário de conversão de formato que podem converter os dados em um ou mais de outros formatos populares.

Seu ambiente de desenvolvimento, provavelmente, pode importar um desses formats- se você estiver realmente sorte, o seu ambiente de desenvolvimento pode lidar com o formato de dados atual diretamente. Em computadores pessoais, os formatos Access, xBASE e MySQL são os mais utilizados. Se os dados que você quer é em um desses formatos, a conversão deve ser fácil. Se o formato é menos comum, você pode ter que colocá-lo através de uma conversão de dois passos.

Se os dados estão em um formato antigo, de propriedade, ou extinta, como um último recurso, você pode recorrer a um profissional serviço de tradução de dados. Essas empresas se especializam em traduzir os dados do computador de um formato para outro.

Como transferir todas as linhas entre as tabelas

Um problema menos grave do que lidar com dados estrangeira é a recolha de dados que já existe em uma tabela que combina esses dados com dados compatíveis em outra mesa. Este processo funciona bem se a estrutura da segunda tabela é idêntica à estrutura da primeira mesa.

Nesse caso, você pode combinar o conteúdo das duas tabelas, utilizando o UNIÃO operador relacional. O resultado é um tabela virtual (Isto é, aquele que não tem existência independente) que contém os dados de ambas as tabelas de origem.

Como transferir colunas selecionadas e linhas entre tabelas

Geralmente, a estrutura dos dados na tabela de origem não é idêntica à estrutura da tabela na qual deseja inserir os dados. Talvez apenas algumas das colunas corresponderem, e estas são as colunas que você deseja transferir. Combinando SELECIONAR declarações com um UNIÃO, você pode especificar quais colunas das tabelas de origem para incluir na tabela de resultados virtual.

Ao incluir ONDE cláusulas do SELECIONAR declarações, você pode restringir as linhas que você coloca na tabela o resultado para aqueles que satisfazem condições específicas.

Suponha que você tenha duas tabelas, clientes e clientes potenciais, e você quer listar todos os que vivem no estado de Maine que aparece em ambas tabelas. Você pode criar uma tabela de resultados virtual que contém o informações desejar apenas usar o seguinte comando:

SELECIONAR FirstName, LastNameFROM PROSPECTWHERE State = 'ME'UNIonselect FirstName, LastNameFROM CUSTOMERWHERE State =' ME '-

Aqui está uma olhada:

  • o SELECIONAR declarações especificar que as colunas incluídas na tabela de resultados são Primeiro nome e Último nome.

  • o ONDE cláusulas restringir as linhas incluídas para aqueles com o valor 'MIM' no Estado coluna.

  • o Estado coluna não está incluído na tabela de resultados, mas está presente tanto na prospecção e mesas de clientes.

  • o UNIÃO operador combina os resultados do SELECIONAR declaração em perspectiva com os resultados do SELECIONAR no CLIENTE, exclui quaisquer linhas duplicadas e, em seguida, exibe o resultado.

Outra forma de copiar dados de uma tabela em um banco para outro é um ninho SELECIONAR declaração dentro de uma INSERIR declaração. Este método não cria um mesa- virtual em vez, ele duplica os dados selecionados. Você pode tomar todas as linhas da tabela de clientes, por exemplo, e inserir as linhas na tabela de perspectiva.

Claro, isso só funciona se as estruturas das tabelas de clientes e prospectos são idênticos. Se você deseja colocar apenas os clientes que vivem em Maine na tabela a perspectiva, uma simples SELECIONAR com uma condição na ONDE cláusula faz o truque, como mostrado no exemplo a seguir:

INSERT INTO PROSPECTSELECT * FROM CUSTOMERWHERE State = 'ME' -

Mesmo que esta operação cria dados redundantes, você pode querer fazê-lo de qualquer maneira para melhorar o desempenho das consultas. Cuidado com a redundância, no entanto! Para manter a consistência dos dados, certifique-se de que você não inserir, atualizar ou excluir linhas em uma tabela sem inserir, atualizar ou excluir as linhas correspondentes na outra tabela. Outro potencial problema é a possibilidade de que o INSERIR declaração pode gerar chaves primárias duplicadas.

Se até mesmo uma perspectiva pré-existente tem uma chave primária ProspectID que coincide com a chave primária correspondente (Identificação do Cliente) De um cliente que você está tentando inserir na tabela a perspectiva, a operação de inserção falhará. Se ambas as tabelas têm chaves primárias autoincrementável, você não quer que eles começam com o mesmo número. Certifique-se os dois blocos de números estão distantes um do outro.

menu