Computer >> Máy Tính >  >> Lập trình >> MySQL

Sử dụng MySQL ở Chế độ hàng loạt


MySQL có thể được chạy ở chế độ hàng loạt. Để thực hiện điều này, các câu lệnh cần được thực thi phải được đặt trong một tệp và sau đó ‘mysql’ sẽ được chỉ định để đọc đầu vào từ tệp này. Nó có thể được thực hiện như hình dưới đây -

shell> mysql < batch−file

Nếu mysql đang chạy trên Windows và có một số ký tự đặc biệt nhất định trên tệp có thể gây ra sự cố, thì có thể chạy dòng mã dưới đây -

C:\> mysql −e "source batch−file"

Nếu các tham số kết nối cần được chỉ định trên dòng lệnh, thì dòng mã dưới đây cần được thực thi -

shell> mysql −h host −u user −p < batch−file
Enter password: ********

Khi mysql được chạy theo cách này, một tệp script sẽ được tạo và nó sẽ được thực thi thêm. Điều quan trọng là phải hiểu tại sao tập lệnh cần được sử dụng -

  • Nếu một truy vấn phải được chạy thường xuyên, việc tạo một tập lệnh sẽ tránh phải nhập lại mã mỗi khi nó cần được thực thi.

  • Lưu ý:Nếu phải tiếp tục tập lệnh ngay cả khi một số câu lệnh nhất định gây ra lỗi, thì tùy chọn dòng lệnh ‘- force’ phải được sử dụng.

  • Các truy vấn mới có thể được tạo từ các truy vấn hiện có tương tự với nhau bằng cách chỉ cần sao chép và chỉnh sửa các tệp tập lệnh.

  • Chế độ hàng loạt có thể khá hữu ích trong khi phát triển một truy vấn và điều này hoạt động tốt ngay cả khi nó là một câu lệnh nhiều dòng hoặc một chuỗi nhiều câu lệnh. Nếu xảy ra sai sót, bạn không cần phải nhập lại tất cả mã. Tập lệnh có thể được chỉnh sửa đơn giản để khắc phục lỗi và ‘mysql’ có thể được lệnh để thực thi lại tệp tập lệnh.

Nếu một truy vấn tạo ra kết quả đầu ra lớn, kết quả đầu ra có thể được chạy qua một máy nhắn tin hơn là cho phép nó cuộn ra khỏi đầu màn hình. Điều này có thể được thực hiện bằng cách sử dụng lệnh dưới đây -

shell> mysql < batch-file | more

Đầu ra có thể được lưu trữ ở một vị trí và có thể được xử lý thêm -

shell> mysql < batch-file > mysql.out

Tập lệnh cũng có thể được chia sẻ / phân phối với những người khác để họ có thể thực thi các câu lệnh.