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

لینـوکــس پایگاه داده MySQLچگونه فایل های داده را صادر کنیم؟دستور عبارت csv export

خروجیصادرات داده ها

در 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 یک انتخاب از فرم 'file_name' می تواند خطوط انتخاب شده را در یک فایل بنویسد.فایل روی میزبان سرور ایجاد شده است، بنابراین برای استفاده از این نحو باید مجوز FILE داشته باشید.
  • خروجی نمی تواند یک فایل موجود باشد.از دستکاری داده های فایل جلوگیری کنید.
  • آیا برای بازیابی فایل ها باید حساب کاربری داشته باشید تا وارد سرور شوید.در غیر این صورت SELECT ... INTO OUTFILE تاثیری نخواهد داشت.
  • در یونیکس، فایل به گونه ای ایجاد می شود که قابل خواندن باشد و مجوزها متعلق به سرور 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

دستور بالا از یک لوله برای وارد کردن داده های صادر شده به میزبان راه دور مشخص شده استفاده می کند.

وبلاگ امید چن ویلیانگ ( https://www.chenweiliang.com/ ) shared "چگونه فایل های داده را از پایگاه داده لینوکس MySQL صادر کنیم؟دستور عبارت csv" را صادر کنید تا به شما کمک کند.

به اشتراک گذاری لینک این مقاله خوش آمدید:https://www.chenweiliang.com/cwl-501.html

برای کشف ترفندهای مخفی بیشتر🔑، به کانال تلگرام ما بپیوندید!

اگر دوست داشتید به اشتراک بگذارید و لایک کنید! اشتراک گذاری ها و لایک های شما انگیزه ادامه دار ماست!

 

发表 评论

آدرس ایمیل شما منتشر نخواهد شد. از زمینه های مورد نیاز استفاده می شود * 标注

رفته به بالا