2010-02-02 18 views
4

Comme le titre le dit: J'ai un tas de fichiers texte séparés par des tabulations contenant des données.Puis-je importer des fichiers séparés par des tabulations dans MySQL sans créer de tables de base de données?

Je sais que si j'utilise les instructions 'CREATE TABLE' pour configurer manuellement toutes les tables, je peux ensuite les importer dans les tables d'attente, en utilisant 'load data' ou 'mysqlimport'.

Mais y a-t-il un moyen de créer des tables automatiquement à partir des fichiers d'onglets? On dirait qu'il devrait y avoir. (Je sais que MySQL pourrait avoir à deviner le type de données de chaque colonne, mais vous pouvez le spécifier dans la première ligne des fichiers d'onglets.)

+0

Si vous souhaitez obtenir _tous_ colonnes d'un fichier texte délimité dans votre base de données _quickly_, sans avoir à créer une table ou penser, même pour une minute à propos des types et des tailles de colonne appropriés, [cette réponse SO] (https://stackoverflow.com/a/23654356/785213) suggère d'utiliser phpMyAdmin. Vous devrez renommer la table quand vous avez fini (s'il y a une option pour cela pendant l'importation, je la néglige à chaque fois). La taille du fichier téléchargé sera cependant limitée par vos paramètres 'php.ini'. _C'est dans un commentaire parce que la question de l'OP est "comment allez-vous [...] ** dans MySQL **". – TheDudeAbides

Répondre

2

Non, il n'y en a pas. Vous devez d'abord CREATE un TABLE dans tous les cas.

La création automatique de tables et la détermination des types de champs ne font pas partie du travail du SGBD. C'est une tâche qu'il vaut mieux laisser à un outil ou à une application externe (qui crée ensuite les instructions CREATE nécessaires).

0

Si vous souhaitez saisir les types de données dans la première ligne, indiquez une instruction CREATE TABLE appropriée.

Ensuite, vous pouvez exporter les données Excel dans un fichier txt et utiliser

LOAD DATA INFILE 'path/file.txt' INTO TABLE your_table;