چگونه فایل CSV را با استفاده از MySQL به دیتابیس ایمپورت کنیم؟

در این پست نحوه ایمپورت و یا وارد کردن فایل CSV با استفاده از دستور LOAD DATA INFILE را یاد می گیریم. این درواقع یک مثال بسیار ساده است ولی در عین حال یک syntax کامل برای LOAD DATA INFILE ارائه کرده ایم.

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'

    [REPLACE | IGNORE]

    INTO TABLE tbl_name

    [CHARACTER SET charset_name]

    [{FIELDS | COLUMNS}

        [TERMINATED BY 'string']

        [[OPTIONALLY] ENCLOSED BY 'char']

        [ESCAPED BY 'char']

    ]

    [LINES

        [STARTING BY 'string']

        [TERMINATED BY 'string']

    ]

    [IGNORE number LINES]

    [(col_name_or_user_var,...)]

    [SET col_name = expr,...]

توضیحات:

قبل از ایمورت هر فایلی باید موارد زیر را دنبال کنید.

  1. جدول پایگاه داده که داده های فایل به آن وارد می شود را ایجاد کنید.
  2. فیلدهای فایل CSV با فیلد جدول پایگاه داده مطابقت داشته باشند.
  3. حسابی که به سرور پایگاه داده MySQL متصل می شود، باید دارای مجوزات FILE و INSERT باشد.

مثال

به عنوان مثال یک جدول ایجاد کرده ایم که نام کاربران در آن قرار دارد

از دستور CREATE TABLE برای ایجاد جدول پایگاه داده استفاده کرده ایم

CREATE TABLE users (
    id INT NOT NULL AUTO_INCREMENT,
    first_name VARCHAR(255) NOT NULL,
    last_name VARCHAR(255) NOT NULL,
    PRIMARY KEY (id)
);

و یک فایل csv نمونه:

id,first_name,last_name
1,"Hardik","Savani"
2,"Harshad","Pathak"
3,"Vimal","Kashiyani"
4,"Uttam","Panara"
5,"Harsukh","Makwana"

در نهایت کدهای زیر فایل users.csv را به جدول users در پایگاه داده ایمپورت می کند:

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

LOAD DATA INFILE: برای خواندن ردیف ها از یک فایل برای استفاده در جدول استفاده می شود.

FIELD TERMINATED BY: این دستور نشان می دهد هر فیلد با چه علامتی خاتمه یافته است.

ENCLOSED BY : این دستور علامتی که برای یک فیلد استفاده می شود را نشان می دهد.

LINES TERMINATED BY : این دستور برای خاتمه یک رکورد یا یک ردیف جدول استفاده می شود.

Facebook
Twitter
LinkedIn
Telegram
WhatsApp

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

آخرین مقالات و نوشته ها