Como adicionar um bloco ou linhas a uma tabela sql

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

declarações pode ser tedioso, especialmente se isso é tudo que você faz. Mesmo que introduz os dados para uma forma ergonómica tela cuidadosamente humano-engenharia fica cansativo depois de algum tempo. Claramente, se você tem uma maneira confiável para introduzir 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 automática de dados é possí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 envolvimento humano mínimo. 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 pode traduzir os dados em uma 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 estiverem 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 tabelas

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

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

Como transferir colunas selecionadas e linhas entre tabelas

Em geral, a estrutura dos dados na tabela de origem não é idêntica à estrutura da tabela na qual você deseja inserir os dados. Talvez apenas algumas das colunas correspondentes, 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 de resultado para aqueles que satisfazem condições específicas.

Suponha que você tenha duas tabelas, clientes e clientes potenciais, e você deseja 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 desejado basta usar o seguinte comando:



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

Aqui está um olhar mais atento:

  • 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 em ambos a perspectiva e mesas de clientes.

  • o UNIÃO operador combina os resultados do SELECIONAR declaração sobre perspectiva com os resultados da SELECIONAR no CLIENTE, exclui todas as linhas duplicadas, e exibe o resultado.

Outra maneira para copiar dados de uma tabela na base de dados 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 clientes potenciais são idênticos. Se você deseja colocar apenas os clientes que vivem em Maine na tabela a perspectiva, um simples SELECIONAR com uma condição na ONDE cláusula não o têm, como mostrado no exemplo que se segue:

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 que você não inserir, atualizar ou excluir linhas em uma tabela sem inserir, atualizar ou excluir as linhas correspondentes na outra tabela. Outro problema potencial é a possibilidade de que o INSERIR declaração pode gerar chaves primárias duplicados.

Se até mesmo uma perspectiva pré-existente tem uma chave primária de 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.


Publicações relacionadas