מדריך מאמרים
כיצד לייצא קבצי נתונים ממסד נתונים של MySQL בלינוקס ? מהן הפקודות לייצוא לקובץ CSV?
MySQLייצוא נתונים
ב-MySQL, ניתן להשתמש בפקודה SELECT … INTO OUTFILE כדי לייצא בקלות נתונים לקובץ טקסט.
ייצא נתונים באמצעות ההצהרה SELECT ... INTO OUTFILE
בדוגמה הבאה נייצא את טבלת הנתונים לקובץ /tmp/tutorials.txt:
mysql > SELECT * FROM chenweiliang_tbl - > INTO OUTFILE '/tmp/tutorials.txt' ;
אתה יכול להגדיר את הפורמט שצוין של פלט הנתונים באמצעות אפשרויות פקודה. הדוגמה הבאה היא לייצוא פורמט CSV:
mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > 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 '''行 终止'\ n'FROM test_table ;
למשפט SELECT ... INTO OUTFILE יש את התכונות הבאות:
- LOAD DATA INFILE היא הפעולה ההפוכה של SELECT ... INTO OUTFILE, תחביר SELECT.כדי לכתוב נתונים ממסד נתונים לקובץ, השתמש ב- SELECT ... INTO OUTFILE, וכדי לקרוא את הקובץ בחזרה למסד הנתונים, השתמש ב-LOAD DATA INFILE.
- SELECT ... INTO OUTFILE SELECT של הטופס 'file_name' יכול לכתוב את השורות שנבחרו לקובץ.הקובץ נוצר על מארח השרת, אז אתה חייב להיות בעל הרשאת FILE כדי להשתמש בתחביר זה.
- הפלט לא יכול להיות קובץ קיים.מנע פגיעה בנתוני הקבצים.
- האם אתה צריך חשבון כדי להיכנס לשרת כדי לאחזר קבצים.אחרת SELECT ... INTO OUTFILE לא ישפיע.
- ב-UNIX, הקובץ נוצר כך שיהיה קריא, וההרשאות הן בבעלות שרת MySQL.המשמעות היא שבזמן שאתה יכול לקרוא את הקובץ, ייתכן שלא תוכל למחוק אותו.
ייצא טבלה כנתונים גולמיים
הוא מייצר בעיקר סקריפט SQL המכיל את הפקודות CREATE TABLE INSERT וכו' הדרושות כדי ליצור מחדש את מסד הנתונים מאפס.
כדי לייצא נתונים באמצעות mysqldump, עליך להשתמש באפשרות –tab כדי לציין את הספרייה שצוינה בקובץ הייצוא, והיעד חייב להיות בר כתיבה.
הדוגמה הבאה מייצאת את טבלת הנתונים chenweiliang_tbl לספריית /tmp:
$ mysqldump - u root - p - no - create - info - tab = / tmp chenweiliang chenweiliang_tbl 密码******
ייצוא נתונים בפורמט SQL
ייצא נתונים בפורמט SQL לקובץ שצוין, באופן הבא:
$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 密码******
תוכן הקובץ שנוצר על ידי הפקודה לעיל הוא כדלקמן:
- MySQL 转储8.23 - - 主机:localhost 数据库:chenweiliang ----------------------------------- ---------------------- - 服务器版本 3.23 。58 - - 表结构为表`chenweiliang_tbl` - CREATE TABLE chenweiliang_tbl ( chenweiliang_id INT (11 )NOT NULL的auto_increment , chenweiliang_title VARCHAR (100 )NOT NULL 默认'' , chenweiliang_author VARCHAR (40 )NOT NULL 默认'' , submission_date日期默认NULL , PRIMARY KEY (chenweiliang_id ), UNIQUE KEY AUTHOR_INDEX (chenweiliang_author ))TYPE = MyISAM ; - - 转储数据的表`chenweiliang_tbl` - INSERT INTO chenweiliang_tbl VALUES (1 ,'Learn PHP' ,'John Poul' ,'2007-05-24' ); INSERT INTO chenweiliang_tbl VALUES (2 ,'学习MySQL' ,'Abdul S' ,'2007-05-24' ); INSERT INTO chenweiliang_tbl VALUES (3 ,'JAVA Tutorial' ,'Sanjay' ,'2007-05-06' );
אם אתה צריך לייצא את הנתונים של מסד הנתונים כולו, אתה יכול להשתמש בפקודה הבאה:
$ mysqldump - u root - p chenweiliang > database_dump 。文本 密码******
אם אתה צריך לגבות את כל מסדי הנתונים, אתה יכול להשתמש בפקודה הבאה:
$ mysqldump - u root - p - all - databases > database_dump 。文本 密码******
האפשרות --all-databases נוספה ב-MySQL 3.23.12 ואילך.
ניתן להשתמש בשיטה זו כדי ליישם אסטרטגיית גיבוי של מסד נתונים.
העתק טבלאות נתונים ומסדי נתונים למארחים אחרים
אם אתה צריך להעתיק נתונים לשרת MySQL אחר, אתה יכול לציין את שם מסד הנתונים והטבלה בפקודה mysqldump.
בצע את הפקודה הבאה במארח המקור כדי לגבות את הנתונים לקובץ dump.txt:
$ mysqldump - u root - p database_name table_name > dump 。文本 密码*****
אם אתה מגבה את מסד הנתונים במלואו, אינך צריך להשתמש בשם טבלה ספציפי.
אם אתה צריך לייבא את מסד הנתונים הגיבוי לשרת MySQL, אתה יכול להשתמש בפקודה הבאה, באמצעות הפקודה הבאה אתה צריך לאשר שמסד הנתונים נוצר:
$ mysql - u root - p database_name < dump 。文本 密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > $ mysqldump的- ü根- p DATABASE_NAME \ | mysql - h other - host 。com database_name
הפקודה לעיל משתמשת בצינור כדי לייבא את הנתונים המיוצאים למארח המרוחק שצוין.
אני מקווה שהמאמר "כיצד לייצא קבצי נתונים ממסד נתונים של MySQL בלינוקס? לייצא שורת פקודה של CSV" שפורסם בבלוג של צ'ן וייליאנג ( https://www.chenweiliang.com/ ) יהיה לעזר עבורך.
אל תהססו לשתף את הקישור למאמר הזה: https://www.chenweiliang.com/cwl-501.html
