Latest web development tutorials

تصدير البيانات ماي

الخلية يمكنك استخدام SELECT ... INTO التصريحات OUTFILE لتصدير البيانات إلى ملف نصي.


استخدام SELECT ... INTO التصريحات OUTFILE لتصدير البيانات

الأمثلة التالية، ونحن سوف تصدير البيانات إلى جدول البيانات w3big_tbl ملف /tmp/tutorials.txt:

mysql> SELECT * FROM w3big_tbl 
    -> INTO OUTFILE '/tmp/tutorials.txt';

يمكنك تعيين تنسيق إخراج البيانات التي يحددها خيارات الأمر يتم تصديرها، والأمثلة التالية في تنسيق CSV:

mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt'
    -> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    -> LINES TERMINATED BY '\r\n';

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

SELECT a,b,a+b INTO OUTFILE '/tmp/result.text'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM test_table;

SELECT ... INTO بيان OUTFILE بالخصائص التالية:

  • تحميل البيانات INFILE SELECT ... INTO OUTFILE هي العملية العكسية، جملة SELECT. من أجل إرسال البيانات إلى قاعدة البيانات في الملف، استخدم SELECT ... INTO OUTFILE، لقراءة الملف مرة أخرى إلى قاعدة البيانات، واستخدام تحميل البيانات INFILE.
  • SELECT ... INTO 'اسم_الملف' OUTFILE شكل خطوط SELECT يمكن تحديد ملف الكتابة. يتم إنشاء ملف على الخادم المضيف، لذلك يجب أن لديك امتياز FILE لاستخدام هذا النحو.
  • الإخراج هو ليس ملف موجود بالفعل. ملف منع البيانات من العبث.
  • تحتاج إلى أن يكون الخادم حساب تسجيل الدخول لاسترداد الملف. إلا SELECT ... INTO OUTFILE لن يلعب أي دور.
  • في يونيكس، بعد أن يتم إنشاء ملف غير امتيازات للقراءة يملكها خادم MySQL. وهذا يعني أنه على الرغم يمكنك قراءة الملف، ولكن قد لا يتم حذف.

تصدير البيانات كما في الجدول الأصلي

يستخدم mysqldump ماي لتحويل قاعدة البيانات أداة يتم تخزينها. وتنتج أساسا النصي SQL الذي يحتوي على الأوامر لإعادة إنشاء قاعدة بيانات من CREATE إدراج جدول وهلم جرا الصفر اللازم.

استخدام mysqldump لتصدير البيانات يتطلب الخيار --tab لتحديد الدليل المحدد في ملف التصدير، يجب أن تكون مكتوبة الكائن.

والمثال التالي تصدير w3big_tbl جدول البيانات إلى الدليل / تمة:

$ mysqldump -u root -p --no-create-info \
            --tab=/tmp w3big w3big_tbl
password ******

تصدير البيانات في شكل SQL

تصدير SQL البيانات إلى تنسيق الملف المحدد، على النحو التالي:

$ mysqldump -u root -p w3big w3big_tbl > dump.txt
password ******

ملفات المحتوى التي تم إنشاؤها بواسطة الأمر أعلاه على النحو التالي:

-- MySQL dump 8.23
--
-- Host: localhost    Database: w3big
---------------------------------------------------------
-- Server version       3.23.58

--
-- Table structure for table `w3big_tbl`
--

CREATE TABLE w3big_tbl (
  w3big_id int(11) NOT NULL auto_increment,
  w3big_title varchar(100) NOT NULL default '',
  w3big_author varchar(40) NOT NULL default '',
  submission_date date default NULL,
  PRIMARY KEY  (w3big_id),
  UNIQUE KEY AUTHOR_INDEX (w3big_author)
) TYPE=MyISAM;

--
-- Dumping data for table `w3big_tbl`
--

INSERT INTO w3big_tbl 
       VALUES (1,'Learn PHP','John Poul','2007-05-24');
INSERT INTO w3big_tbl 
       VALUES (2,'Learn MySQL','Abdul S','2007-05-24');
INSERT INTO w3big_tbl 
       VALUES (3,'JAVA Tutorial','Sanjay','2007-05-06');

إذا كنت بحاجة إلى تصدير البيانات لقاعدة البيانات بأكملها، يمكنك استخدام الأمر التالي:

$ mysqldump -u root -p w3big > database_dump.txt
password ******

إذا كنت بحاجة إلى نسخ احتياطي لكافة قواعد البيانات، يمكنك استخدام الأمر التالي:

$ mysqldump -u root -p --all-databases > database_dump.txt
password ******

--all قواعد البيانات تم إضافة خيار في الخلية 3.23.12 أو في وقت لاحق.

ويمكن استخدام هذه الطريقة لتنفيذ استراتيجية احتياطية من قاعدة بيانات.


ورقة البيانات ونسخة من قاعدة البيانات إلى مضيف آخر

إذا كنت بحاجة إلى نسخ البيانات إلى خادم MySQL آخر، يمكنك تحديد اسم من جداول قاعدة البيانات والبيانات في الأمر mysqldump.

تنفيذ الأمر التالي على المضيف المصدر، النسخ الاحتياطي للبيانات إلى ملف dump.txt:

$ mysqldump -u root -p database_name table_name > dump.txt
password *****

إذا كان نسخة احتياطية كاملة من قاعدة البيانات، لا تحتاج إلى استخدام اسم جدول معين.

إذا كنت بحاجة إلى عمل نسخة احتياطية من قاعدة البيانات إلى خادم MySQL، يمكنك استخدام الأمر التالي، استخدم الأمر التالي كنت بحاجة للتأكد من تم إنشاء قاعدة البيانات:

$ mysql -u root -p database_name < dump.txt
password *****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</p>
$ mysqldump -u root -p database_name \
       | mysql -h other-host.com database_name

يستخدم الأمر أعلاه في خط أنابيب لتصدير البيانات إلى المضيف البعيد المحدد.