Comment ajouter un bloc ou des lignes à une table SQL

Chargement d'une base de données SQL tableau d'une ligne à la fois en utilisant INSERT

Sommaire

déclarations peuvent être fastidieux, surtout si ce que vous faites est tout. Même entrer les données dans un format d'écran ergonomique soigneusement conçue par l'homme devient fatiguant après un certain temps. De toute évidence, si vous avez un moyen fiable pour entrer les données automatiquement, vous trouverez des occasions dans lesquelles une entrée automatique est mieux que d'avoir une personne assis à un clavier et le type.

Entrée automatique des données est possible, par exemple, si les données existent sous forme électronique parce que quelqu'un a déjà saisi les données manuellement. Dans ce cas, le transfert des données d'un fichier de données à un autre est une tâche qui peut exécuter un ordinateur avec une intervention humaine minimale. Si vous connaissez les caractéristiques de la source de données et la forme souhaitée de la table de destination, un ordinateur peut effectuer automatiquement le transfert de données.

Comment copier à partir d'un fichier de données étrangère

Supposons que vous êtes la construction d'une base de données pour une nouvelle application. Certaines données que vous avez besoin existe déjà dans un fichier informatique. Le fichier peut être un fichier plat ou une table dans une base de données créée par un SGBD différent de celui que vous utilisez. Les données peuvent être en ASCII ou un code EBCDIC ou dans un format propriétaire des arcanes. Que faire?

Les premières choses que vous faites sont espérons et prions pour que les données que vous voulez est dans un format largement utilisé. Si les données sont dans un format populaire, vous avez une bonne chance de trouver un utilitaire de conversion de format qui peut traduire les données en un ou plusieurs autre les formats populaires.

Votre environnement de développement peut probablement importer un de ces formats- si vous êtes vraiment chanceux, votre environnement de développement peut gérer directement le format de données actuel. Sur les ordinateurs personnels, les formats Access, xBASE, et MySQL sont les plus largement utilisés. Si les données que vous voulez est dans un de ces formats, la conversion devrait être facile. Si le format est moins fréquent, vous pouvez avoir à le mettre dans une conversion en deux étapes.

Si les données sont dans une ancienne propriété, ou le format défunte, en dernier recours, vous pouvez vous tourner vers un service de données traduction professionnelle. Ces entreprises se spécialisent dans la traduction des données informatiques d'un format à un autre.

Comment faire pour transférer toutes les lignes entre les tables

Un problème moins grave que de traiter avec des données étrangère est prise de données qui existe déjà dans une table combinant ces données avec des données compatibles dans une autre table. Ce processus fonctionne très bien si la structure de la deuxième table est identique à la structure de la première table.




Dans ce cas, vous pouvez combiner le contenu des deux tableaux en utilisant le UNION opérateur relationnel. Le résultat est un table virtuelle (à savoir, celle qui n'a pas d'existence indépendante) qui contient des données à partir de deux tables source.

Comment transférer sélectionnés colonnes et de lignes entre les tables

En général, la structure des données de la table source est pas identique à la structure de la table dans laquelle vous voulez insérer les données. Peut-être que certaines des colonnes correspondent, et ce sont les colonnes que vous souhaitez transférer. En combinant SELECT états avec un UNION, vous pouvez spécifier les colonnes des tables source à inclure dans la table de résultat virtuel.

En incluant clauses du SELECT déclarations, vous pouvez restreindre les lignes que vous placez dans le tableau de résultats à ceux qui satisfont à des conditions spécifiques.

Supposons que vous ayez deux tables, prospects et clients, et vous voulez répertorier toutes les personnes vivant dans l'état du Maine, qui apparaît dans les deux tables. Vous pouvez créer une table de résultat virtuel qui contient le infos désiré il suffit d'utiliser la commande suivante:

SELECT Prénom, LastNameFROM PROSPECTWHERE État = 'ME'UNIonselect Prénom, LastNameFROM CUSTOMERWHERE État = «moi» -

Voici un aperçu de plus près:

  • La SELECT déclarations précisent que les colonnes inclus dans la table de résultats sont Prénom et Nom de famille.

  • La clauses restreignent les lignes inclus pour ceux dont la valeur 'MOI' dans le État colonne.

  • La État colonne est pas inclus dans le tableau des résultats, mais est présent à la fois dans la perspective et les tables des clients.

  • La UNION opérateur combine les résultats de la SELECT déclaration sur PROSPECT avec les résultats de la SELECT le CLIENT, supprime toutes les lignes en double, puis affiche le résultat.

Une autre façon de copier les données d'une table dans une base de données à l'autre est d'emboîter un SELECT dans une déclaration INSERT déclaration. Cette méthode ne crée pas une table- virtuelle à la place, il duplique les données sélectionnées. Vous pouvez prendre toutes les lignes de la table de client, par exemple, et insérer ces lignes dans la table PROSPECT.

Bien sûr, cela ne fonctionne que si les structures des tables de clients et prospects sont identiques. Si vous voulez placer seuls les clients qui vivent dans le Maine dans la table PROSPECT, un simple SELECT avec une condition dans le article fait le tour, comme le montre l'exemple suivant:

INSERT INTO PROSPECTSELECT * FROM CUSTOMERWHERE État = «moi» -

Même si cette opération crée des données redondantes, vous pouvez le faire de toute façon à améliorer la performance des récupérations. Méfiez-vous de la redondance, cependant! Afin de maintenir la cohérence des données, assurez-vous que vous ne pas insérer, mettre à jour ou supprimer des lignes dans un tableau sans insérer, mettre à jour ou de supprimer les lignes correspondantes dans l'autre table. Un autre problème potentiel est la possibilité que le INSERT déclaration pourrait générer des clés primaires en double.

Si même un prospect pré-existante a une clé primaire de ProspectID qui correspond à la clé primaire correspondante (N ° de client) D'un client que vous essayez de l'insérer dans le tableau PROSPECT, l'opération d'insertion échouera. Si les deux tableaux ont des clés primaires autoincrementing, vous ne voulez pas qu'ils commencent avec le même nombre. Assurez-vous que les deux blocs de numéros sont éloignés les uns des autres.


» » » » Comment ajouter un bloc ou des lignes à une table SQL