چگونه داده های فایل CSV را به صورت انبوه در جدول MySql آپلود کنیم؟ روشی بسیار سریع با استفاده از LOAD DATA.

Summarize this content to 400 words in Persian Lang
😄 مقدمه
آیا هنوز از حلقه های “for” یا “while” برای تکرار روی ردیف های خود و درج آنها در پایگاه داده خود استفاده می کنید؟ آیا هنوز برای خواندن فایل csv. و آپلود آن در پایگاه داده MySQL خود کد جداگانه می نویسید؟
با عبارت «LOAD DATA» ارائه شده توسط MySQL به منطق خطی «نه» بگویید. خود را برای تغییر کد خود آماده کنید تا هم خطوط را به حداقل برسانید و هم عملکرد را به شدت افزایش دهید.
MySql عبارت LOAD DATA را ارائه میکند، که روشی با سرعت بسیار بالا برای خواندن دادهها از فایلهای متنی و درج آن در جدول با حداقل کد است.
🗃 بیانیه LOAD DATA INFILE چیست؟
طبق اسناد رسمی MySQL، دستور LOAD DATA برای خواندن داده ها از فایل به روشی بسیار سریع استفاده می شود و شما می توانید این داده ها را با یک پرس و جو در جدول خود وارد کنید، به جای اینکه db خود را چندین بار با “INSERT” بزنید. پرس و جو INTO.
MySQL همچنین یک عبارت -> “SELECT…INTO OUTFILE” را ارائه می دهد، که دقیقاً برخلاف آنچه “LOAD DATA” انجام می دهد، یعنی خواندن داده ها انجام می دهد. از جدول به پرونده.
ابزار mysqlimport ارائه شده توسط MySql به صورت داخلی عبارت LOAD DATA را بر روی سرور برای وارد کردن داده ها فراخوانی می کند.
🧐 چگونه از آن استفاده کنیم؟
قطعه اصلی بالا بیانیه های داده بار عمومی را نشان می دهد. تمام گزینه های موجود در کد بالا ذکر شده است.
اجازه دهید اکنون روی یک مثال ساده از خواندن ساده یک فایل csv. و درج ردیف های آن در یک جدول سازگار تمرکز کنیم.
یک مثال ساده:
LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table
یک مثال چشم پرنده با تمام گزینه های ضروری:
نیازی به گفتن نیست که فایل CSV شما باید فرمت مناسبی داشته باشد تا این دستور کار کند.
و voila، با استفاده از عبارت بالا، csv. شما با بیش از 100 هزار ردیف در عرض چند ثانیه به جدول شما وارد می شود.
حال چند نکته مهم قابل ذکر است:
عبارت فوق در سطح MySql اجرا می شود، بنابراین فایل های منبع از کلاینت به سرور برای وارد کردن آنها کپی می شوند.
این برخی از مشکلات امنیتی را ایجاد می کند، ما باید مطمئن شویم که اتصال مشتری-سرور هنگام استفاده از این کد ایمن است.
در MySql 8.0، قابلیت استفاده از LOCAL به طور پیش فرض به صورت False تنظیم شده است. از آنجایی که سرور و کلاینت شما باید برای داشتن مجوز LOCAL پیکربندی شوند، ممکن است برخی از شما با خطای مجوز مواجه شوید.
در صورت خطای مجوز، باید با فعال کردن آن، آن را لغو کنیم local_infile:
SET GLOBAL local_infile = true;
توجه: نادیده گرفتن این پرچم یک راه حل امنیتی نیست، بلکه یک تأییدیه برای پذیرش خطرات است، می توانید برای اطلاعات بیشتر به این مستندات مراجعه کنید.
🐱🚀 نتیجه گیری
دستور MySql LOAD DATA برای خواندن فایل ها در مدت زمان بسیار کمتر استفاده می شود.
می توانید از این کد با هر API پشتیبان برای ارائه فایل منبع استفاده کنید.
فایل منبع می تواند هر فایل متنی باشد، ما در این مثال از csv. استفاده کرده ایم.
LOAD DATA LOCAL فایل منبع را از طریق MySql به سرور شما کپی می کند، بنابراین باید اقدامات امنیتی در سمت سرور اجرا شود.
mysqlimport ابزار به صورت داخلی از عبارت LOAD DATA استفاده می کند.
میتوانید با افزودن، سرصفحهها را در CSV نادیده بگیرید 1 خط را نادیده بگیرید در بیانیه
📚 مرجع
اسناد رسمی
😄 مقدمه
آیا هنوز از حلقه های “for” یا “while” برای تکرار روی ردیف های خود و درج آنها در پایگاه داده خود استفاده می کنید؟ آیا هنوز برای خواندن فایل csv. و آپلود آن در پایگاه داده MySQL خود کد جداگانه می نویسید؟
با عبارت «LOAD DATA» ارائه شده توسط MySQL به منطق خطی «نه» بگویید. خود را برای تغییر کد خود آماده کنید تا هم خطوط را به حداقل برسانید و هم عملکرد را به شدت افزایش دهید.
MySql عبارت LOAD DATA را ارائه میکند، که روشی با سرعت بسیار بالا برای خواندن دادهها از فایلهای متنی و درج آن در جدول با حداقل کد است.
🗃 بیانیه LOAD DATA INFILE چیست؟
طبق اسناد رسمی MySQL، دستور LOAD DATA برای خواندن داده ها از فایل به روشی بسیار سریع استفاده می شود و شما می توانید این داده ها را با یک پرس و جو در جدول خود وارد کنید، به جای اینکه db خود را چندین بار با “INSERT” بزنید. پرس و جو INTO.
MySQL همچنین یک عبارت -> “SELECT…INTO OUTFILE” را ارائه می دهد، که دقیقاً برخلاف آنچه “LOAD DATA” انجام می دهد، یعنی خواندن داده ها انجام می دهد. از جدول به پرونده.
ابزار mysqlimport ارائه شده توسط MySql به صورت داخلی عبارت LOAD DATA را بر روی سرور برای وارد کردن داده ها فراخوانی می کند.
🧐 چگونه از آن استفاده کنیم؟
قطعه اصلی بالا بیانیه های داده بار عمومی را نشان می دهد. تمام گزینه های موجود در کد بالا ذکر شده است.
اجازه دهید اکنون روی یک مثال ساده از خواندن ساده یک فایل csv. و درج ردیف های آن در یک جدول سازگار تمرکز کنیم.
یک مثال ساده:
LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table
یک مثال چشم پرنده با تمام گزینه های ضروری:
نیازی به گفتن نیست که فایل CSV شما باید فرمت مناسبی داشته باشد تا این دستور کار کند.
و voila، با استفاده از عبارت بالا، csv. شما با بیش از 100 هزار ردیف در عرض چند ثانیه به جدول شما وارد می شود.
حال چند نکته مهم قابل ذکر است:
عبارت فوق در سطح MySql اجرا می شود، بنابراین فایل های منبع از کلاینت به سرور برای وارد کردن آنها کپی می شوند.
این برخی از مشکلات امنیتی را ایجاد می کند، ما باید مطمئن شویم که اتصال مشتری-سرور هنگام استفاده از این کد ایمن است.در MySql 8.0، قابلیت استفاده از LOCAL به طور پیش فرض به صورت False تنظیم شده است. از آنجایی که سرور و کلاینت شما باید برای داشتن مجوز LOCAL پیکربندی شوند، ممکن است برخی از شما با خطای مجوز مواجه شوید.
در صورت خطای مجوز، باید با فعال کردن آن، آن را لغو کنیم local_infile:
SET GLOBAL local_infile = true;
توجه: نادیده گرفتن این پرچم یک راه حل امنیتی نیست، بلکه یک تأییدیه برای پذیرش خطرات است، می توانید برای اطلاعات بیشتر به این مستندات مراجعه کنید.
🐱🚀 نتیجه گیری
دستور MySql LOAD DATA برای خواندن فایل ها در مدت زمان بسیار کمتر استفاده می شود.
می توانید از این کد با هر API پشتیبان برای ارائه فایل منبع استفاده کنید.
فایل منبع می تواند هر فایل متنی باشد، ما در این مثال از csv. استفاده کرده ایم.
LOAD DATA LOCAL فایل منبع را از طریق MySql به سرور شما کپی می کند، بنابراین باید اقدامات امنیتی در سمت سرور اجرا شود.
mysqlimport ابزار به صورت داخلی از عبارت LOAD DATA استفاده می کند.
میتوانید با افزودن، سرصفحهها را در CSV نادیده بگیرید 1 خط را نادیده بگیرید در بیانیه
📚 مرجع
اسناد رسمی