Cách lưu tệp trong MySQL Workbench

Thật dễ dàng để làm trong MySQL. Bạn có thể thực hiện việc này bằng IDE hoặc dòng lệnh, sử dụng lệnh MySQL tích hợp

Hãy cùng xem

 

Mục lục

Truy vấn cơ bản

Hãy sử dụng một ví dụ đơn giản về câu lệnh SELECT cho điều này

SELECT id, first_name, last_name
FROM customer;

Đây là kết quả

idfirst_namelast_name1JohnSmith2MaryMcAdams3StevePitt4Mark Cousins5ShaunJones7AmyMcDonald8BradSwan10WendyJohnson

Chúng tôi có thể thấy những kết quả này trong đầu ra của dòng lệnh hoặc trong IDE, chẳng hạn như MySQL Workbench

Làm thế nào chúng ta có thể lưu chúng vào một tập tin văn bản?

Chúng tôi có thể sao chép và dán chúng, nhưng điều đó chậm và thủ công

 

Lưu kết quả MySQL vào một tệp

Có tính năng đầu ra tệp MySQL tích hợp sẵn như một phần của câu lệnh CHỌN

Chúng tôi chỉ cần thêm các từ INTO OUTFILE, theo sau là tên tệp, vào cuối câu lệnh CHỌN

Ví dụ

SELECT id, first_name, last_name
FROM customer
INTO OUTFILE '/temp/myoutput.txt';

Điều này sẽ tạo một tệp mới gọi là myoutput. txt chứa kết quả của truy vấn này, trong một thư mục có tên là temp

Điều gì xảy ra nếu bạn gặp lỗi này (như tôi đã làm)?

Mã lỗi. 1290. Máy chủ MySQL đang chạy với tùy chọn –secure-file-priv nên không thể thực thi câu lệnh này

Tôi sẽ giải thích thêm về cách giải quyết vấn đề này sau trong hướng dẫn này

Hiện tại, giả sử bạn có thể chạy câu lệnh để tạo tệp, nó sẽ trông như thế này

Cách lưu tệp trong MySQL Workbench

Văn bản trong tệp là

1 John Smith
2 Mary McAdams
3 Steve Pitt
4 Mark Cousins
5 Shaun Jones
7 Amy McDonald
8 Brad Swan
10 Wendy Johnson

Như bạn có thể thấy, các trường được phân tách bằng các tab. Đây là hành vi mặc định, nhưng nó có thể được thay đổi

 

Thay đổi tham số để đặt giá trị được phân tách bằng dấu phẩy

Bạn có thể thay đổi tham số của từ khóa INTO OUTFILE này để thay đổi cách ghi tệp

Có một số tham số phụ. Đây là một số phổ biến nhất

  • LĨNH VỰC ĐƯỢC CHẤM DỨT BỞI. điều này cho biết (các) ký tự được sử dụng để kết thúc một trường
  • KÈM THEO. điều này cho biết (các) ký tự sẽ được sử dụng để bao quanh mỗi trường
  • DÒNG KẾT THÚC BỞI. điều này cho biết (các) ký tự được sử dụng để kết thúc một dòng và bắt đầu một dòng mới

Ví dụ: để chọn dữ liệu vào tệp CSV và đặt từng trường trong dấu ngoặc kép

SELECT id, first_name, last_name
FROM customer
INTO OUTFILE '/temp/myoutput.txt'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

Nếu chúng ta chạy câu lệnh này, chúng ta có thể kiểm tra tệp, nó sẽ trông như thế này

Cách lưu tệp trong MySQL Workbench

Văn bản trong tệp là

"1","John","Smith"
"2","Mary","McAdams"
"3","Steve","Pitt"
"4","Mark","Cousins"
"5","Shaun","Jones"
"7","Amy","McDonald"
"8","Brad","Swan"
"10","Wendy","Johnson"

Vì vậy, đó là cách bạn có thể tạo tệp văn bản hoặc tệp CSV từ kết quả của truy vấn MySQL. Bạn thêm tham số INTO OUTFILE vào cuối truy vấn CHỌN của mình

Để xuất hoặc nhập bằng MySQL, hãy bắt đầu bằng cách đăng nhập vào máy chủ của bạn, tốt nhất là có quyền truy cập

1 John Smith
2 Mary McAdams
3 Steve Pitt
4 Mark Cousins
5 Shaun Jones
7 Amy McDonald
8 Brad Swan
10 Wendy Johnson
6 (root)

Xuất từ ​​MySQL

Công cụ tốt nhất để xuất cơ sở dữ liệu MySQL sang tệp văn bản là

1 John Smith
2 Mary McAdams
3 Steve Pitt
4 Mark Cousins
5 Shaun Jones
7 Amy McDonald
8 Brad Swan
10 Wendy Johnson
7

Để sử dụng

1 John Smith
2 Mary McAdams
3 Steve Pitt
4 Mark Cousins
5 Shaun Jones
7 Amy McDonald
8 Brad Swan
10 Wendy Johnson
7, bạn cần biết thông tin đăng nhập của một
1 John Smith
2 Mary McAdams
3 Steve Pitt
4 Mark Cousins
5 Shaun Jones
7 Amy McDonald
8 Brad Swan
10 Wendy Johnson
9 phù hợp có các đặc quyền cần thiết để xuất cơ sở dữ liệu được đề cập

Với thông tin đó trong tay, hãy nhập lệnh

1 John Smith
2 Mary McAdams
3 Steve Pitt
4 Mark Cousins
5 Shaun Jones
7 Amy McDonald
8 Brad Swan
10 Wendy Johnson
7 với các cờ và tùy chọn thích hợp

$ mysqldump -u my_username -p database_name > output_file_path

Các tùy chọn được sử dụng là

  • Cờ
    SELECT id, first_name, last_name
    FROM customer
    INTO OUTFILE '/temp/myoutput.txt'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n';
    1 chỉ ra rằng MySQL
    SELECT id, first_name, last_name
    FROM customer
    INTO OUTFILE '/temp/myoutput.txt'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n';
    2 sẽ theo sau
  • Cờ
    $ mysqldump -u book_admin -p books > ~/backup/database/books.sql
    Enter password:
    
    0 cho biết chúng tôi sẽ được nhắc về
    $ mysqldump -u book_admin -p books > ~/backup/database/books.sql
    Enter password:
    
    1 được liên kết với
    SELECT id, first_name, last_name
    FROM customer
    INTO OUTFILE '/temp/myoutput.txt'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n';
    2 ở trên
  • Tất nhiên,
    $ mysqldump -u book_admin -p books > ~/backup/database/books.sql
    Enter password:
    
    3 là tên chính xác của cơ sở dữ liệu để xuất
  • Ký hiệu
    $ mysqldump -u book_admin -p books > ~/backup/database/books.sql
    Enter password:
    
    4 là một chỉ thị Unix dành cho
    $ mysqldump -u book_admin -p books > ~/backup/database/books.sql
    Enter password:
    
    5, cho phép các lệnh Unix xuất kết quả văn bản của lệnh đã ban hành sang một vị trí khác. Trong trường hợp này, vị trí đầu ra đó là đường dẫn tệp, được chỉ định bởi
    $ mysqldump -u book_admin -p books > ~/backup/database/books.sql
    Enter password:
    
    6

Ghi chú. Nói chung, bạn nên nhập đường dẫn và tên tệp đủ điều kiện cho

$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:
6, để tệp kết quả được tạo chính xác ở nơi bạn muốn

Ví dụ: để xuất cơ sở dữ liệu

$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:
8 với tư cách là người dùng
$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:
9 sang thư mục
SELECT id, first_name, last_name
FROM customer
INTO OUTFILE '/temp/myoutput.txt';
50, chúng ta có thể sử dụng lệnh sau

$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:

Sau khi nhập mật khẩu của chúng tôi khi được nhắc ở trên, lệnh này sau đó sẽ tạo tệp sao lưu của chúng tôi với hậu tố

SELECT id, first_name, last_name
FROM customer
INTO OUTFILE '/temp/myoutput.txt';
51 (hoàn toàn tùy chọn nhưng được khuyến nghị) trong thư mục thích hợp

Theo mặc định,

1 John Smith
2 Mary McAdams
3 Steve Pitt
4 Mark Cousins
5 Shaun Jones
7 Amy McDonald
8 Brad Swan
10 Wendy Johnson
7 sẽ không lưu các lệnh cố gắng sửa đổi sự tồn tại của cơ sở dữ liệu thực tế. Thay vào đó, theo mặc định, chỉ có
SELECT id, first_name, last_name
FROM customer
INTO OUTFILE '/temp/myoutput.txt';
53 thực tế (và dữ liệu tương ứng của chúng) được lưu và do đó sẽ được chuẩn bị để nhập sau bằng tệp này. Nếu bạn cần khả năng xuất (và sau đó tạo lại) thêm một cơ sở dữ liệu nữa, hãy đọc phần cờ trong tài liệu chính thức

Nhập vào MySQL

Bây giờ bạn đã học cách xuất bản sao lưu của cơ sở dữ liệu MySQL, chúng ta sẽ khám phá cách đảo ngược quy trình và nhập bản sao lưu vào cơ sở dữ liệu hiện có

Như bạn có thể tưởng tượng, để bổ sung cho lệnh

1 John Smith
2 Mary McAdams
3 Steve Pitt
4 Mark Cousins
5 Shaun Jones
7 Amy McDonald
8 Brad Swan
10 Wendy Johnson
7 được sử dụng để xuất, có một lệnh tương tự
SELECT id, first_name, last_name
FROM customer
INTO OUTFILE '/temp/myoutput.txt';
56 để nhập

Trong hầu hết các trường hợp, nhập chỉ là vấn đề chuyển các tùy chọn hầu như giống hệt nhau cho lệnh

SELECT id, first_name, last_name
FROM customer
INTO OUTFILE '/temp/myoutput.txt';
56. Để nhập tệp
SELECT id, first_name, last_name
FROM customer
INTO OUTFILE '/temp/myoutput.txt';
58 đã lưu của chúng tôi được tạo trước đó, chúng tôi sẽ sử dụng nhiều cờ giống nhau và nhiều cú pháp giống nhau

SELECT id, first_name, last_name
FROM customer
INTO OUTFILE '/temp/myoutput.txt';
5

Như trước đây, các cờ

SELECT id, first_name, last_name
FROM customer
INTO OUTFILE '/temp/myoutput.txt'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
1 và
$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:
0 được yêu cầu để xác thực, sau đó là tên của
1 John Smith
2 Mary McAdams
3 Steve Pitt
4 Mark Cousins
5 Shaun Jones
7 Amy McDonald
8 Brad Swan
10 Wendy Johnson
61 để nhập vào (trong trường hợp này, chúng tôi đang sử dụng cơ sở dữ liệu sản xuất khác), sau đó chỉ định đường dẫn đủ điều kiện cuối cùng đến . Cũng cần lưu ý rằng
SELECT id, first_name, last_name
FROM customer
INTO OUTFILE '/temp/myoutput.txt';
56 không yêu cầu các ký hiệu
1 John Smith
2 Mary McAdams
3 Steve Pitt
4 Mark Cousins
5 Shaun Jones
7 Amy McDonald
8 Brad Swan
10 Wendy Johnson
64 hoặc
$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:
4 (STDIN/STDOUT) được sử dụng với
1 John Smith
2 Mary McAdams
3 Steve Pitt
4 Mark Cousins
5 Shaun Jones
7 Amy McDonald
8 Brad Swan
10 Wendy Johnson
7

Cùng với đó, bạn đã học cách xuất/sao lưu cơ sở dữ liệu hiện có và cách nhập/khôi phục dữ liệu đó vào cùng một cơ sở dữ liệu hoặc thậm chí là một cơ sở dữ liệu khác

Làm cách nào để lưu tệp SQL trong MySQL?

Dòng lệnh .
Đăng nhập vào máy chủ của bạn thông qua SSH
Sử dụng lệnh cd để điều hướng đến thư mục nơi người dùng của bạn có quyền ghi. .
Xuất cơ sở dữ liệu bằng cách thực hiện lệnh sau. mysqldump --add-drop-table -u admin -p`cat /etc/psa/. psa. bóng` dbname > dbname. sql. .
Bây giờ bạn có thể tải xuống tệp SQL kết quả

Bạn có thể lưu trữ tệp trên MySQL không?

Đối tượng lớn nhị phân ( BLOB ) là loại dữ liệu MySQL có thể lưu trữ dữ liệu nhị phân như hình ảnh, đa phương tiện và tệp PDF .

MySQL Workbench có tự động lưu không?

Lưu ảnh chụp nhanh của trình chỉnh sửa đang mở khi đóng. Theo mặc định, MySQL Workbench lưu tất cả các tab truy vấn và mở lại chúng khi bạn khởi động lại . Sử dụng cài đặt khoảng thời gian tập lệnh Tự động lưu có liên quan để sửa đổi hành vi của nó. Cả hai đều được đặt từ tab tùy chọn SQL Editor.