Wie importiere ich eine CSV-Datei in eine MySQL-Tabelle?

306

Ich habe eine nicht normalisierte Ereignistagebuch-CSV von einem Client, den ich in eine MySQL-Tabelle laden möchte, damit ich sie in ein vernünftiges Format umgestalten kann. Ich habe eine Tabelle namens 'CSVImport' erstellt, die ein Feld für jede Spalte der CSV-Datei enthält. Die CSV enthält 99 Spalten, daher war dies an sich schon eine schwierige Aufgabe:

CREATE TABLE 'CSVImport' (id INT);
ALTER TABLE CSVImport ADD COLUMN Title VARCHAR(256);
ALTER TABLE CSVImport ADD COLUMN Company VARCHAR(256);
ALTER TABLE CSVImport ADD COLUMN NumTickets VARCHAR(256);
...
ALTER TABLE CSVImport Date49 ADD COLUMN Date49 VARCHAR(256);
ALTER TABLE CSVImport Date50 ADD COLUMN Date50 VARCHAR(256);

Die Tabelle enthält keine Einschränkungen, und alle Felder enthalten VARCHAR (256) -Werte, mit Ausnahme der Spalten, die Zählwerte (dargestellt durch INT), Ja / Nein (dargestellt durch BIT), Preise (dargestellt durch DECIMAL) und Klappentexte (dargestellt) enthalten. vertreten durch TEXT).

Ich habe versucht, Daten in die Datei zu laden:

LOAD DATA INFILE '/home/paul/clientdata.csv' INTO TABLE CSVImport;
Query OK, 2023 rows affected, 65535 warnings (0.08 sec)
Records: 2023  Deleted: 0  Skipped: 0  Warnings: 198256
SELECT * FROM CSVImport;
| NULL             | NULL        | NULL           | NULL | NULL               | 
...

Der ganze Tisch ist gefüllt mit NULL.

Ich denke, das Problem ist, dass die Klappentexte mehr als eine Zeile enthalten und MySQL die Datei so analysiert, als würde jede neue Zeile einer Datenbankzeile entsprechen. Ich kann die Datei problemlos in OpenOffice laden.

Die Datei clientdata.csv enthält 2593 Zeilen und 570 Datensätze. Die erste Zeile enthält Spaltennamen. Ich denke, es ist durch Kommas getrennt, und der Text ist anscheinend durch doppelte Anführungszeichen getrennt.

AKTUALISIEREN:

Lesen Sie im Zweifelsfall das Handbuch: http://dev.mysql.com/doc/refman/5.0/en/load-data.html

Ich habe der LOAD DATAAussage, dass OpenOffice intelligent genug war, um daraus zu schließen, einige Informationen hinzugefügt , und jetzt wird die richtige Anzahl von Datensätzen geladen:

LOAD DATA INFILE "/home/paul/clientdata.csv"
INTO TABLE CSVImport
COLUMNS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

Trotzdem gibt es viele vollständige NULLDatensätze, und keine der geladenen Daten scheint am richtigen Ort zu sein.

Iain Samuel McLean Elder
quelle
17
Und wenn Sie unter OSX sind, hat Sequel Pro ein fantastisches Import-Tool und es ist KOSTENLOS ;-)
Merrick
41
Es ist erstaunlich für mich, dass das Originalposter seine eigene Frage besser beantwortet hat als jeder andere ... Ich weiß nicht, warum so viele Leute so bereit sind, Softwareempfehlungen zu geben, wenn ein SQL-Befehl vorhanden ist, der eher programmatisch als UI sein kann -basierend. Ich kenne niemanden anders, aber programmatisch bedeutet für mich, dass ich Skripte einrichten kann, um Dateien auf Zeitstempeln automatisch zu importieren, während UI-basiert rein manuell ist.
Chris Cirefice
@ ChrisCirefice: Ich denke, die akzeptierte Antwort erklärt das gut. Er brauchte Hilfe beim manuellen Erstellen des Befehls 'Daten laden', bei dem ein grafisches Programm helfen kann. Nachdem das grafische Programm den Befehl 'Daten laden' erstellt hatte, konnte er ihn programmgesteuert wiederverwenden.
AlexC
@ Merrick dies funktionierte ein Vergnügen auf Osx
Weaveoftheride
Ich habe ein umfangreiches Tutorial zum Laden von CSV-Daten in MySQL zusammen mit einem Syntaxgenerator-Tool in Excel geschrieben .
mysql_user

Antworten:

133

Der Kern Ihres Problems scheint darin zu bestehen, die Spalten in der CSV-Datei mit denen in der Tabelle abzugleichen.

Viele grafische mySQL-Clients haben sehr schöne Importdialoge für solche Dinge.

Mein Favorit für diesen Job ist Windows-basiertes HeidiSQL . Es bietet Ihnen eine grafische Oberfläche zum Erstellen des LOAD DATABefehls. Sie können es später programmgesteuert wiederverwenden.

Textdatei importieren

Screenshot: Dialog "Textdatei importieren"

Um das Dialogfeld "Textdatei importieren" zu öffnen, gehen Sie zu Tools > Import CSV file:

Geben Sie hier die Bildbeschreibung ein

Pekka
quelle
25
Verwenden Sie unter Mac OSX Sequel Pro.
Agi Hammerthief
3
Ich habe es gerade versucht und es erfordert, dass ich zuerst die Tabelle erstelle ... anstatt die Spaltennamen zu verwenden.
Dominique
3
Sie müssen eine Tabelle auswählen, bevor Sie fortfahren können ... und da der springende Punkt nicht darin besteht, die Tabelle
Dominique
3
Beachten Sie, dass HeidiSQL unter Linux unter Wine sehr gut funktioniert.
AlejandroVD
1
@Paul Der eigentliche Punkt der Antwort ist, dass GUI-Tools das Abgleichen von Importspalten mit Tabellenspalten erleichtern können.
Pekka
191

Verwenden Sie mysqlimport , um eine Tabelle in die Datenbank zu laden:

mysqlimport --ignore-lines=1 \
            --fields-terminated-by=, \
            --local -u root \
            -p Database \
             TableName.csv

Ich fand es unter http://chriseiffel.com/everything-linux/how-to-import-a-large-csv-file-to-mysql/

Verwenden Sie, um das Trennzeichen zu einer Registerkarte zu machen --fields-terminated-by='\t'

michalzuber
quelle
6
mysqlimportverwendet LOAD DATA INFILE...hinter den Kulissen, so ist es so ziemlich das gleiche.
Mladen Jablanović
8
Wie bei LOAD DATA INFILEmüssen Sie eine Tabelle erstellen, bevor Sie sie verwenden können mysqlimport.
Marcus Downing
@ MladenJablanović, es ist definitiv nicht dasselbe. Versuchen Sie, 1bil-Zeilen zu importieren. Sie werden überrascht sein, welchen massiven Unterschied es in Bezug auf die Leistung macht
Ninjabber
@ninjabber Die Dokumentation besagt, dass der mysqlimport-Client eine Befehlszeilenschnittstelle für LOAD DATA INFILE bereitstellt , sodass es theoretisch unmöglich ist, einen Leistungsvorteil gegenüber zu bieten LOAD DATA INFILE.
Mladen Jablanović
1
brauche auch --fields-optionally-enclosed-by=\"und `--fields-entkommen-by = \`
chaintng
80

Der einfachste Weg, wie ich mehr als 200 Zeilen importiert habe, ist unter dem Befehl im phpmyadmin-SQL-Fenster

Ich habe eine einfache Landestabelle mit zwei Spalten CountryId, CountryName

Hier sind CSV-DatenCSV-DATEI

Hier ist Befehl:

LOAD DATA INFILE 'c:/country.csv' 
INTO TABLE country 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS

Beachten Sie eines: Erscheinen Sie niemals in der zweiten Spalte, da sonst der Import gestoppt wird

Draufgänger
quelle
1
‚‘ -> ‚\ t‘, ‚"‘->‚‘bei TSV - Dateien und die letzte Zeile entfernen , wenn keine Header (Hoffnung Suche Crawler Index this)..
Bluten - Fingers
16
Wenn es sich um eine lokale Datei handelt, müssen Sie dies möglicherweise tun LOAD DATA LOCAL INFILE. Wenn dies den Fehler 1148 "Verwendeter Befehl ist nicht erlaubt" auslöst, können Sie ihn aktivieren, indem Sie MySQL in der Befehlszeile mit ausführen --local-infile.
Big McLargeHuge
Ich habe den Fehler erhalten: FEHLER 1045 (28000): Zugriff für Benutzer 'Benutzer' @ '%' verweigert (mit Passwort: JA)
ARUNBALAN NV
Sie müssen dem Benutzer den gesamten Zugriff gewähren. Versuchen Sie dann im Admin-Bereich, das Skript zu importieren.
DareDevil
1
Ich erhalte die folgende Fehlermeldung: Der MySQL-Server wird mit der Option --secure-file-priv ausgeführt, sodass diese Anweisung nicht ausgeführt werden kann
Agniswar Bakshi
66

Ich weiß, dass die Frage alt ist , aber ich möchte dies teilen

Ich habe diese Methode verwendet, um mehr als 100.000 Datensätze ( ~ 5 MB ) in 0,046 Sekunden zu importieren

So geht's:

LOAD DATA LOCAL INFILE  
'c:/temp/some-file.csv'
INTO TABLE your_awesome_table  
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(field_1,field_2 , field_3);

Es ist sehr wichtig, die letzte Zeile einzuschließen, wenn Sie mehr als ein Feld haben, dh normalerweise wird das letzte Feld übersprungen (MySQL 5.6.17).

LINES TERMINATED BY '\n'
(field_1,field_2 , field_3);

Angenommen, Sie haben die erste Zeile als Titel für Ihre Felder, möchten Sie möglicherweise auch diese Zeile einfügen

IGNORE 1 ROWS

So sieht es aus, wenn Ihre Datei eine Kopfzeile hat.

LOAD DATA LOCAL INFILE  
'c:/temp/some-file.csv'
INTO TABLE your_awesome_table  
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(field_1,field_2 , field_3);
Fahad
quelle
Ich habe 16k Zeilen und 48 Spalten importiert. Danke, Kumpel.
Renjith VR
Dies ist die beste Lösung. Für alle, die neugierig sind, wie schnell das geht: Ich habe 3,2 Millionen Zeilen in weniger als 14 Sekunden auf einer AWS Lightsail-Instanz für 20 US-Dollar pro Monat mit dem integrierten MySQL-Server (kein Hochleistungs-RDS) importiert. Genial!
master_gracey
(field_1,field_2 , field_3);Bezieht es sich in dieser Zeile auf die Liste der Spalten in einer CSV-Datei oder in einer Tabelle? dh was sind diese Felder?
Tera_789
@ tera_789 Diejenigen in Ihrer CSV-Datei, die wahrscheinlich zu Ihrer Tabelle passen
Fahad
Muss dem Datenformat folgen. Beispiel (für meinen Fall) <pre> Vorname, Nachname, dob, Telefonnummer, E-Mail, Name, Nachname, 12-05-2018,54545, faiz @ gmail.com, Name1, Nachname1,2018-05-12,456, faiz1 @ gmail .com, name2, lastName2,2018-05-12,456, faiz2 @ gmail.com, name3, lastName3,2018-05-22,456, faiz3 @ gmail.com, name4, lastName4,1988-05-22,456, faiz4 @ gmail.com , name5, lastName5,1988-05-22,456, faiz5 @ gmail.com, name6, lastName6,1987-05-21,456, faiz6 @ gmail.com </ pre>
Faiz Ahmed
32

phpMyAdmin kann den CSV-Import verarbeiten. Hier sind die Schritte:

  1. Bereiten Sie die CSV-Datei so vor, dass die Felder in derselben Reihenfolge wie die MySQL-Tabellenfelder angezeigt werden.

  2. Entfernen Sie die Kopfzeile aus der CSV (falls vorhanden), sodass nur die Daten in der Datei enthalten sind.

  3. Gehen Sie zur Schnittstelle phpMyAdmin.

  4. Wählen Sie die Tabelle im linken Menü.

  5. Klicken Sie oben auf die Schaltfläche Importieren.

  6. Navigieren Sie zur CSV-Datei.

  7. Wählen Sie die Option "CSV using LOAD DATA".

  8. Geben Sie "," in die "Felder abgeschlossen mit" ein.

  9. Geben Sie die Spaltennamen in derselben Reihenfolge ein wie in der Datenbanktabelle.

  10. Klicken Sie auf die Schaltfläche Los und Sie sind fertig.

Dies ist eine Notiz, die ich für meine zukünftige Verwendung vorbereitet und hier geteilt habe, wenn jemand anderes davon profitieren kann.

Farhan
quelle
Das ist gut und einfach. Ich bevorzuge es, Tabellen und Spalten über SQL zu erstellen (also überspringe ich Schritt 9) und Daten über den Import von CSV einzufügen. Vergessen Sie nicht, NULLin der CSV automatisch inkrementierende Felder / Spalten festzulegen.
Silber
Beachten Sie, dass phpMyAdmin kläglich fehlschlägt, wenn kyrillische Zeichen in der CSV-Datei enthalten sind, unabhängig davon, ob Sie utf-8 verwenden sollen.
Fran Marzoa
Vergessen Sie nicht, die Importgröße zu ändern, wenn Sie eine große CSV-Datei importieren. Übrigens ist es keine gute Option für große CSV-Dateien.
Avi
Dazu muss zuerst die CSV-Datei auf einen Webclient heruntergeladen werden, da Sie nicht zu einer lokalen CSV-Datei navigieren können.
McKenzm
Ja, Sie können, Sie müssen das Kontrollkästchen "Lokales Schlüsselwort"
aktivieren
12

Sie können dies beheben, indem Sie die Spalten in Ihrer LOAD DATA-Anweisung auflisten. Aus dem Handbuch :

LOAD DATA INFILE 'persondata.txt' INTO TABLE persondata (col1,col2,...);

... in Ihrem Fall müssen Sie die 99 Spalten in der Reihenfolge auflisten, in der sie in der CSV-Datei angezeigt werden.

lafncow
quelle
8

Versuchen Sie das, es hat bei mir funktioniert

    LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' IGNORE 1 ROWS;

IGNORE 1 ROWS ignoriert hier die erste Zeile, die die Feldnamen enthält. Beachten Sie, dass Sie für den Dateinamen den absoluten Pfad der Datei eingeben müssen.

David
quelle
Dies ist die beste Antwort. Warum ein anderes Tool verwenden, wenn ein einzelner SQL-Befehl ausreicht?
SDGFSDH
Wissen Sie, wie dies funktioniert, wenn Sie versuchen, die Datei in MySQL zu laden, das auf einem Server ausgeführt wird? Ich werde aufgefordert, den Zugriff für die Datei (Kennwort) zu verweigern. Wo soll das Passwort für den Speicherort der CSV-Datei eingegeben werden?
Baktaawar
7

Die MySQL-Befehlszeile ist anfällig für zu viele Probleme beim Import. So geht's:

  • Verwenden Sie Excel, um die Headernamen so zu bearbeiten, dass keine Leerzeichen vorhanden sind
  • als .csv speichern
  • Verwenden Sie den kostenlosen Navicat Lite SQL-Browser, um eine neue Tabelle zu importieren und automatisch zu erstellen (geben Sie ihr einen Namen).
  • Öffnen Sie die neue Tabelle. Fügen Sie eine primäre automatische Nummernspalte für die ID ein
  • Ändern Sie den Typ der Spalten nach Bedarf.
  • getan!
user1464271
quelle
5

Wenn Sie MySQL Workbench (derzeit Version 6.3) verwenden, können Sie dies folgendermaßen tun:

  1. Klicken Sie mit der rechten Maustaste auf "Tabellen".
  2. Assistent zum Importieren von Tabellendaten ausgewählt;
  3. Wählen Sie Ihre CSV-Datei und befolgen Sie die Anweisungen (JSON kann auch verwendet werden). Das Gute ist, dass Sie eine neue Tabelle basierend auf der CSV-Datei erstellen können, die Sie importieren oder in eine vorhandene Tabelle laden möchten

Geben Sie hier die Bildbeschreibung ein

Vitaliy Pak
quelle
+1. Ich habe dies verwendet, weil mysql mir immer wieder Fehler für LOAD DATA INFILEund gab mysqlimport("dies wird in dieser Version von
mysql
Diese Methode funktioniert, ist aber etwas langsam. Ich hätte gedacht, dass die Verwendung dieser Funktion eine massive INSERTAbfrage erstellt und versucht hätte, alles auf einmal zu tun, aber es sieht so aus, als würde dies tatsächlich einmal INSERTpro Zeile ausgeführt.
DaveTheMinion
4

Ich sehe etwas Seltsames. Sie verwenden für ESCAPING dasselbe Zeichen, das Sie für ENCLOSING verwenden. Der Motor weiß also nicht, was er tun soll, wenn er ein '"' gründet, und ich denke, deshalb scheint nichts am richtigen Ort zu sein. Ich denke, wenn Sie die ESCAPING-Linie entfernen, sollte es großartig laufen. Wie:

LOAD DATA INFILE "/home/paul/clientdata.csv"
INTO TABLE CSVImport
COLUMNS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

Es sei denn, Sie analysieren (manuell, visuell, ...) Ihre CSV und finden heraus, welcher Charakter für die Flucht verwendet wird. Manchmal ist '\'. Aber wenn Sie es nicht haben, verwenden Sie es nicht.

Juan
quelle
3

Eine weitere Lösung besteht darin, das csvsql- Tool aus der erstaunlichen csvkit- Suite zu verwenden.

Anwendungsbeispiel:

csvsql --db mysql://$user:$password@localhost/$database --insert --tables $tablename  $file

Dieses Tool kann automatisch die Datentypen ableiten (Standardverhalten), eine Tabelle erstellen und die Daten in die erstellte Tabelle einfügen. --overwriteOption kann verwendet werden, um eine Tabelle zu löschen, falls sie bereits vorhanden ist. --insertOption - um die Tabelle aus der Datei zu füllen.

So installieren Sie die Suite

pip install csvkit

Voraussetzungen: python-dev , libmysqlclient-dev,MySQL-python

apt-get install python-dev libmysqlclient-dev
pip install MySQL-python
Ruvim
quelle
3

So importieren Sie CSV-Dateien in SQL-Tabellen

Beispieldatei: Overseas_trade_indexDaten-CSV-Datei

Schritte:

  1. Müssen Tabelle für erstellen overseas_trade_index.

  2. Sie müssen Spalten erstellen, die sich auf die CSV-Datei beziehen.

    SQL-Abfrage:

    ( id int not null primary key auto_increment,
    series_reference varchar (60),
    period varchar (60),
    data_value decimal(60,0),
    status varchar (60),
    units varchar (60),
    magnitude int(60),
    subject text(60),
    group text(60),
    series_title_1 varchar (60),
    series_title_2 varchar (60),
    series_title_3 varchar (60),
    series_title_4 varchar (60),
    series_title_5 varchar (60),
     );
  3. Müssen Sie MySQL-Datenbank im Terminal verbinden.

    =>show databases;
    =>use database;
    =>show tables;
  4. Bitte geben Sie diesen Befehl ein, um die CSV-Daten in MySQL-Tabellen zu importieren.

    load data infile '/home/desktop/Documents/overseas.csv' into table trade_index fields terminated by ',' lines terminated by '\n' (series_reference,period,data_value,status,units,magnitude,subject,series_title1,series_title_2,series_title_3,series_title_4,series_title_5);
  5. Finden Sie diese Daten des Übersee-Handelsindex auf sqldatabase:

    select * from trade_index;
Sivamani
quelle
2

Wenn Sie einen Windows-Computer mit geladener Excel-Tabelle verwenden, ist das neue mySql-Plugin für Excel phänomenal. Die Leute bei Oracle haben wirklich gute Arbeit mit dieser Software geleistet. Sie können die Datenbankverbindung direkt aus Excel herstellen. Dieses Plugin analysiert Ihre Daten und richtet die Tabellen für Sie in einem Format ein, das mit den Daten übereinstimmt. Ich hatte einige Monster große CSV-Dateien von Daten zu konvertieren. Dieses Tool hat viel Zeit gespart.

http://dev.mysql.com/downloads/windows/excel/

Sie können Aktualisierungen in Excel vornehmen, die online in die Datenbank eingefügt werden. Dies funktionierte außerordentlich gut mit mySql-Dateien, die auf einem äußerst kostengünstigen Shared Hosting von GoDaddy erstellt wurden. (Beachten Sie, dass Sie beim Erstellen der Tabelle bei GoDaddy einige nicht standardmäßige Einstellungen auswählen müssen, um den externen Zugriff auf die Datenbank zu ermöglichen ...)

Mit diesem Plugin haben Sie reine Interaktivität zwischen Ihrer XL-Tabelle und dem Online-MySQL-Datenspeicher.

zipzit
quelle
2

Ich benutze MySQL Workbench, um den gleichen Job zu machen.

  1. neues Schema erstellen
  2. Öffnen Sie das neu erstellte Schema
  3. Klicken Sie mit der rechten Maustaste auf "Tabellen" und wählen Sie "Assistent zum Importieren von Tabellendaten".
  4. Geben Sie den Pfad und den Tabellennamen der CSV-Datei an und konfigurieren Sie schließlich Ihren Spaltentyp, da der Assistent den Standardspaltentyp basierend auf seinen Werten festgelegt hat.

Hinweis: Überprüfen Sie die Protokolldatei der mysql workbench auf Fehler, indem Sie "tail -f [mysqlworkbenchpath] /log/wb*.log" verwenden.

Mehdi
quelle
Vielen Dank für Ihre Antwort - da ich neu in MySQL war und nichts davon wusste - hat es mir bei CSV geholfen. Jetzt muss ich auch 10 Tabellen aus Access importieren. Glauben Sie, dass der einfachste Weg darin besteht, diese Tabellen nach Excel, von Excel nach CSV zu exportieren und dann diese Schritte auszuführen?
Naomi
Ich habe festgestellt, dass diese Methode nicht alle Zeilen importiert :( Von 5.342 Zeilen wurden nur 2.485 Zeilen für mich importiert. Warum das?
Naomi
Hey Naomi, wenn du das mysqlworkbench-Protokoll überprüfst, wird dir gezeigt, warum der Datenimport gestoppt wurde. Möglicherweise haben Ihre DB- und CSV-Datei einige Nullwerte oder einen nicht übereinstimmenden Typ. Aber ich empfehle dringend, Juans Antwort zu folgen (direkt nach mir). Seine Lösung ist besser und sauberer als ich.
Mehdi
1

Hier ist ein Beispiel für einen Screenshot einer Excel-Datei:

Geben Sie hier die Bildbeschreibung ein

Speichern unter und wählen Sie .csv.

Und Sie haben wie unten gezeigt .csv-Daten-Screenshot, wenn Sie mit Notepad ++ oder einem anderen Notepad öffnen.

Geben Sie hier die Bildbeschreibung ein

Stellen Sie sicher, dass Sie die Kopfzeile entfernen und die Spaltenausrichtung in .csv wie in der MySQL-Tabelle haben. Ersetzen Sie den Ordnernamen durch Ihren Ordnernamen

LOAD DATA LOCAL INFILE
'D: /folder_name/myfilename.csv' IN TABELLE E-Mail-FELDER BEENDET VON ',' (fname, lname, email, phone);

Wenn es sich um Big Data handelt, können Sie Kaffee trinken und laden!.

Das ist alles was du brauchst.

Magige Daniel
quelle
0

PHP-Abfrage zum Importieren einer CSV-Datei in die MySQL-Datenbank

$query = <<<EOF
            LOAD DATA LOCAL INFILE '$file'
             INTO TABLE users
             FIELDS TERMINATED BY ','
             LINES TERMINATED BY '\n'
             IGNORE 1 LINES
            (name,mobile,email)
    EOF;
if (!$result = mysqli_query($this->db, $query))
   {
        exit(mysqli_error($this->db));
   }

** Beispiel für CSV-Dateidaten **

name,mobile,email
Christopher Gritton,570-686-3439,ChristopherKGritton@inbound.plus
Brandon Wilson,541-309-5149,BrandonMWilson@inbound.plus
Craig White,516-795-8065,CraigJWhite@inbound.plus
David Whitney,713-214-3966,DavidCWhitney@inbound.plus
Suwarnakumar Kanapathipillai
quelle
0

Ändern Sie den Servernamen, den Benutzernamen, das Kennwort, den Datenbanknamen, den Pfad Ihrer Datei, den Tabellennamen und das Feld in Ihrer Datenbank, das Sie einfügen möchten

<?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "bd_dashboard";
    //For create connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    $query = "LOAD DATA LOCAL INFILE 
                'C:/Users/lenovo/Desktop/my_data.csv'
                INTO TABLE test_tab
                FIELDS TERMINATED BY ','
                LINES TERMINATED BY '\n'
                IGNORE 1 LINES
                (name,mob)";
    if (!$result = mysqli_query($conn, $query)){
        echo '<script>alert("Oops... Some Error occured.");</script>';
        exit();
            //exit(mysqli_error());
       }else{
        echo '<script>alert("Data Inserted Successfully.");</script>'
       }
    ?>
Srikrushna
quelle