sql >> Database >  >> RDS >> Mysql

Hoe een CSV-bestand in de MySQL-tabel te importeren

Vaak moeten we een CSV-bestand importeren in de MySQL-tabel of een tabel maken vanuit CSV of de CSV-import in de MySQL-server automatiseren. Hier leest u hoe u een CSV-bestand importeert in de MySQL-database in Ubuntu. We zullen de LOAD DATA INFILE-query gebruiken om CSV in MySQL te importeren. Je kunt deze stappen ook gebruiken voor CentOS en andere Linux-systemen.

Hoe een CSV-bestand in de MySQL-tabel te importeren

Hier zijn de stappen om het CSV-bestand in MySQL te importeren. Nadat u een CSV-bestand met koptekst in MySQL heeft geïmporteerd, wilt u wellicht een rapportagetool gebruiken om uw MySQL-tabel te doorzoeken en ervoor te zorgen dat alles goed werkt.

1. Tabel maken

Eerst moet u een databasetabel maken met hetzelfde aantal kolommen als die in uw CSV-bestand. Stel dat u een CSV-bestand met 2 velden wilt importeren:order_date, sale

We maken dus een verkoop (order_date, sale) tabel met mysql.

mysql> create table sales(order_date date, sale int);

Bonus Lezen:Hoe de conversieratio in MySQL te berekenen

2. CSV-bestand importeren in MySQL-tabel

Importeer vervolgens ons CSV-bestand in MySQL met de opdracht LOAD DATA INFILE.

Laten we zeggen dat we het volgende sales.csv-bestand hebben. Gebruik enkele/dubbele aanhalingstekens voor datumwaarden in uw CSV-bestand, anders krijgt u een foutmelding.

"2020-01-01",15
"2020-01-02",25
"2020-01-03",34
"2020-01-04",22
"2020-01-05",30
mysql> LOAD DATA INFILE 'c:/files/sales.csv'
       INTO TABLE sales 
       FIELDS TERMINATED BY ',' 
       ENCLOSED BY '"' 
       LINES TERMINATED BY '\n'
       IGNORE ROWS 1;

mysql> select * from sales;
 order_date | sale
------------+------
 2020-01-01 |   15
 2020-01-02 |   25
 2020-01-03 |   34
 2020-01-04 |   22
 2020-01-05 |   30

Bonus lezen:ontbrekende datums in MySQL invullen

In de bovenstaande query specificeren we een scheidingsteken met FIELDS TERMINATED BY ',' en een scheidingsteken voor nieuwe regels voor elke regel als LINES TERMINATED BY '\n'. INGESLOTEN DOOR ‘”‘  geeft aan dat waarden tussen dubbele aanhalingstekens moeten worden behandeld als tekens of datum, maar niet als getallen. Je kunt hier ook enkele aanhalingstekens of een ander teken gebruiken in plaats van dubbele aanhalingstekens, maar het moet overeenkomen met wat in je CSV-bestand wordt gebruikt.

Omdat onze gegevens headers bevatten, gebruiken we RIJEN 1 NEGEREN om MySQL te vertellen regel #1 niet in ons bestand te importeren. Als uw CSV-bestand geen kopteksten bevat, kunt u dit weglaten uit uw zoekopdracht.

Bonus lezen:SQL-query om productverkopen per maand te vergelijken

U kunt dezelfde zoekopdrachten gebruiken met CSV- of TXT-bestanden door de bestandsextensie in uw zoekopdracht te wijzigen. U kunt het ook gebruiken om door tabs gescheiden bestanden in MySQL te importeren, door het scheidingsteken te wijzigen in \t in plaats van een komma.

Nadat u het CSV-bestand heeft geïmporteerd, kunt u een mysql-rapportagetool zoals Ubiq gebruiken om ze in lijn-/kolomdiagrammen te plotten, zoals hieronder weergegeven.

Hopelijk helpen de bovenstaande stappen u om het CSV-bestand eenvoudig in de MySQL-tabel te importeren. Trouwens, als je grafieken en dashboards wilt maken om je bedrijf of website in de gaten te houden, kun je Ubiq proberen. We bieden een gratis proefperiode van 14 dagen.

  1. datagrip Kan geen wijzigingen toepassen Deze tabel is alleen-lezen. Wijzigingen in de celeditor kunnen niet worden toegepast

  2. DATETIMEOFFSETFROMPARTS() Voorbeelden in SQL Server (T-SQL)

  3. Afbeeldingen toewijzen aan Tree View-knooppunten-2

  4. Handleiding voor SQL Joins