English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

استيراد البيانات MySQL

في هذا الفصل، سنقدم لك بعض الأوامر البسيطة لاستيراد البيانات في MySQL.

1. استيراد البيانات باستخدام أمر mysql

نموذج استيراد البيانات باستخدام أمر mysql هو:

mysql-uاسم المستخدم-pكلمة المرور<ملف البيانات التي سيتم استيراده(w3codebox.sql)

مثال:

#mysql-uroot-p123456<w3codebox.sql

أمر الأعلى سيقوم باستيراد قاعدة البيانات بأكملها w3codebox.sql.

2. أمر source

يحتاج الأمر إلى تسجيل الدخول إلى واجهة التشغيل للقاعدة البيانات لاستيراد قاعدة البيانات باستخدام أمر source:

mysql>createdatabaseabc;#إنشاء قاعدة البيانات
mysql>useabc;#استخدام قاعدة البيانات المكتسبة 
mysql>setnamesutf8;#تعيين الترميز
mysql>source/home/abc/abc.sql#استيراد قاعدة البيانات الاحتياطية

3. استيراد البيانات باستخدام LOAD DATA

يقدم MySQL جملة LOAD DATA INFILE لاستيراد البيانات. في الأمثلة التالية، سيتم قراءة الملف dump.txt من الدليل الحالي، وسيتم إدراج البيانات الموجودة في هذا الملف في جدول mytbl في قاعدة البيانات الحالية.

mysql>LOADLOCALINFILE'dump.txt'INTOTABLEmytbl;

 إذا تم تشير كلمة LOCAL، فإن ذلك يعني قراءة الملف عبر مسار على جهاز المستخدم. إذا لم يتم تشيرها، فإن الملف سيتم قراءته عبر مسار على الخادم.

يمكنك تحديد واضحًا مسافات الفصل بين قيم الأعمدة وأي علامة إتمام سطر في جملة LOAD DATA، ولكن العلامة الإفتراضية هي الرمز الدالة والسطر المطلق.

نفس الجملة FIELDS و LINES الخاصة بكلتا الأمرتين لهما نفس النحو. كلاهما اختياريتان، ولكن إذا تم تشيرهما معًا، يجب أن يظهر جملة FIELDS قبل جملة LINES.

إذا كان المستخدم يشير إلى جملة FIELDS، فإن جملة فرعية الخاصة بها (TERMINATED BY،[OPTIONALLY] ENCLOSED BY و ESCAPED BY) هي اختيارية أيضًا، ولكن يجب على المستخدم أن يشير إلى واحد منها على الأقل.

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl
  -> FIELDS TERMINATED BY ':'
  -> LINES TERMINATED BY '\r\n';

يتم إدراج البيانات بشكل افتراضي بناءً على ترتيب الأعمدة في ملف البيانات، إذا لم تكن الأعمدة في ملف البيانات متطابقة مع الأعمدة في جدول الإدراج، فيجب تحديد ترتيب الأعمدة.

على سبيل المثال، إذا كان ترتيب الأعمدة في ملف البيانات هو a,b,c، لكن ترتيب الأعمدة في جدول الإدراج هو b,c,a، فإن جملة إدراج البيانات ستكون كما يلي:

mysql> LOAD DATA LOCAL INFILE 'dump.txt' 
    -> INTO TABLE mytbl (b, c, a);

4. استيراد البيانات باستخدام mysqlimport

يقدم عميل mysqlimport واجهة سطر الأوامر لجملة LOAD DATA INFILEQL. تتطابق معظم خيارات mysqlimport مع فقرة LOAD DATA INFILE.

لإدراج البيانات من ملف dump.txt إلى جدول البيانات mytbl، يمكنك استخدام الأمر التالي:

$ mysqlimport -u root -p --local mytbl dump.txt
كلمة المرور *****

يمكن للإصدار mysqlimport تحديد خيارات لضبط النمط المحدد، ويكون نمط جملة الأمر كالتالي:

$ mysqlimport -u root -p --local --fields-terminated-by=":" \
   --lines-terminated-by="\r\n" mytbl dump.txt
كلمة المرور *****

استخدام خيار --columns في جملة mysqlimport لضبط ترتيب الأعمدة:

$ mysqlimport -u root -p --local --columns=b,c,a \
    mytbl dump.txt
كلمة المرور *****

مقدمة لخيارات mysqlimport الشائعة

الخياراتالميزات
-d أو --deleteسيتم حذف جميع المعلومات من جدول البيانات قبل إدراج البيانات الجديدة في جدول البيانات.
-f أو --forceسيستمر mysqlimport في إدراج البيانات مهما كانت الأخطاء التي يواجهها.
-i أو --ignoremysqlimport يفوت أو يتجاهل تلك التي تحتوي على نفس القيمة الفريدة              سطر الكلمات المفتاحية، سيتم تجاهل البيانات الموجودة في ملف الاستيراد.
-l أو -lock-tablesيتم قفل الجدول قبل إدخال البيانات، مما يمنع،                في عملية تحديث قاعدة البيانات، يؤثر على استعلامات المستخدمين والتحديثات.
-r أو -replaceهذا الخيار يعمل عكسًا للأمر -i؛ هذا الخيار سيستبدل                           هناك سجلات في الجدول لها نفس المفتاح الفريد.
--fields-enclosed-by= charيحدد هذا الخيار كيفية حواف البيانات في سجلات النص.                 البيانات محاطة بأقواس مزدوجة. بشكل افتراضي، ليست البيانات محاطة بأقواس.
--fields-terminated-by=charيحدد هذا الخيار وحدات الفصل بين القيم في البيانات، في ملفات الفواصل النقاط،                 الوحدات الفاصلة هي النقاط. يمكنك استخدام هذا الخيار لتعيين وحدات الفصل بين البيانات.                 الوحدات الفاصلة الافتراضية هي مسافات النسخ (Tab).
--lines-terminated-by=strيحدد هذا الخيار سلسلة الفصل بين البيانات في ملف النص.                أو حرف. بشكل افتراضي، يستخدم mysqlimport newline كحرف فاصل للسطور.                يمكنك استخدام سلسلة لتعويض حرف واحد:                 خط جديد أو مفتاح Enter.

الخيارات الشائعة لأمر mysqlimport تشمل -v لعرض إصدار (الإصدار)، -p لطلب إدخال كلمة المرور (كلمة المرور) وما إلى ذلك.