Chúng ta có thể sử dụng vòng lặp while trong MySQL không?
Như chúng ta biết rằng MySQL cung cấp cho chúng ta các câu lệnh lặp cho phép chúng ta thực thi lặp đi lặp lại một khối mã SQL dựa trên một điều kiện. Lệnh lặp WHILE là một trong những loại lệnh lặp như vậy. Cú pháp của nó như sau - Show
WHILE expression DO statements END WHILE Trên thực tế, vòng lặp WHILE kiểm tra biểu thức khi bắt đầu mỗi lần lặp. Nếu biểu thức đánh giá là đúng, MySQL sẽ thực thi các câu lệnh giữa WHILE và END WHILE cho đến khi biểu thức đánh giá là sai. Vòng lặp WHILE kiểm tra biểu thức trước khi thực thi câu lệnh, chính vì vậy nó còn được gọi là vòng lặp kiểm tra trước Để chứng minh việc sử dụng vòng lặp WHILE với các thủ tục được lưu trữ, sau đây là một ví dụ: mysql> Delimiter // mysql> CREATE PROCEDURE While_Loop() -> BEGIN -> DECLARE A INT; -> DECLARE XYZ Varchar(50); -> SET A = 1; -> SET XYZ = ''; -> WHILE A <=10 DO -> SET XYZ = CONCAT(XYZ,A,','); -> SET A = A + 1; -> END WHILE; -> SELECT XYZ; -> END // Query OK, 0 rows affected (0.31 sec) Bây giờ, chúng ta có thể thấy kết quả bên dưới khi gọi thủ tục này - mysql> DELIMITER ; mysql> call While_Loop(); +-----------------------+ | XYZ | +-----------------------+ | 1,2,3,4,5,6,7,8,9,10, | +-----------------------+ 1 row in set (0.03 sec) Các thủ tục được lưu trữ là các thủ tục con, đoạn câu lệnh SQL được lưu trữ trong danh mục SQL. Các thủ tục này chứa các tham số IN và OUT hoặc cả hai. Chúng có thể trả về tập kết quả trong trường hợp bạn sử dụng câu lệnh SELECT; . Bạn cũng có thể tạo các hàm trong MYSQL Tương tự như các ngôn ngữ lập trình khác, MySQL cung cấp hỗ trợ cho các câu lệnh điều khiển luồng như IF, CASE, ITERATE, LEAVE LOOP, WHILE và REPEAT. Bạn có thể sử dụng các câu lệnh này trong các chương trình (thủ tục) được lưu trữ và RETURN trong các hàm được lưu trữ. Bạn có thể sử dụng một Câu lệnh điều khiển luồng với một câu lệnh khác WHILE là một câu lệnh phức hợp của MySQL được sử dụng để thực thi lặp đi lặp lại một hoặc một tập hợp các câu lệnh miễn là điều kiện đã chỉ định là TRUE cú phápSau đây là cú pháp của câu lệnh WHILE là MySQL − begin_label: WHILE search_condition DO statement_list END WHILE end_label Trong đó, danh_sách_câu_lệnh là một hoặc một tập hợp các câu lệnh sẽ được lặp lại. begin_label và end_label là các nhãn tùy chọn của câu lệnh WHILE. Mỗi câu lệnh trong WHILE kết thúc bằng dấu chấm phẩy (hoặc, dấu phân cách hiện tại) MySQL WHILE LOOP cho phép chúng ta thực hiện lặp đi lặp lại một hoặc nhiều truy vấn Câu lệnh MySQL trừ khi một điều kiện được đáp ứng để trả về giá trị kết quả tương ứng. Nó cũng được biết đến là một vòng lặp có điều kiện kiểm tra trước trong số các câu lệnh MySQL ba vòng WHILE, LOOP và REPEAT vì ở đây điều kiện tìm kiếm được kiểm tra ban đầu trước khi thực thi câu lệnh mã. Vòng lặp WHILE khi được xử lý lặp lại sẽ thực thi các câu lệnh SQL dưới dạng tập kết quả miễn là biểu thức điều kiện là TRUE. Mỗi câu lệnh trong vòng lặp WHILE kết thúc bằng dấu chấm phẩy. Việc lặp lại vòng lặp xảy ra mỗi khi điều kiện được kiểm tra và kết quả phụ thuộc vào dòng mã. Nhưng nếu điều kiện vòng lặp WHILE của MySQL là SAI khi biểu thức đánh giá giữa các câu lệnh while và end while thì nó sẽ thoát khỏi vòng lặp cú phápCú pháp cơ bản của vòng lặp WHILE được biểu diễn như sau Bắt đầu khóa học khoa học dữ liệu miễn phí của bạn Hadoop, Khoa học dữ liệu, Thống kê và những thứ khác Gói khoa học dữ liệu tất cả trong một(360+ khóa học, hơn 50 dự án) Giá 360+ Khóa học trực tuyến. hơn 50 dự án. Hơn 1500 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
Giải thích các thuật ngữ cú pháp trên
Sơ đồChúng ta có thể hiểu rõ hơn về quy trình vòng lặp WHILE của MySQL với sự trợ giúp của sơ đồ. Sơ đồ minh họa này sẽ làm rõ các khái niệm của chúng ta về các đánh giá TRUE và FALSE trong vòng lặp WHILE và thực thi các câu lệnh SQL Lưu đồ chỉ định cách sắp xếp thiết yếu của quy trình lặp vòng lặp WHILE trong MySQL WHILE LOOP hoạt động như thế nào trong MySQL?
Ví dụ để triển khai WHILE LOOP trong MySQLHãy để chúng tôi thảo luận về một số ví dụ về câu lệnh MySQL vòng lặp WHILE để thực thi mã truy vấn SQL như sau
Mã số
Mã số
Mã số
Ở đây, thủ tục được lưu trữ LoadCalendar_Data bao gồm và chấp nhận hai tham số trong hàm
Trong thủ tục tải này
Nếu kết quả là có, thì
Vòng lặp WHILE lặp lại điều kiện bộ đếm trừ khi giá trị biến bộ đếm giống với giá trị tham số ngày và lần lượt chèn các giá trị ngày vào các cột trong Calendar_Datatable Ví dụCuối cùng, chúng ta sẽ sử dụng câu lệnh truy vấn sau để gọi thủ tục được lưu trữ LoadCalendar_Data() chứa các bản ghi giá trị hàng trong 15 ngày vào bảng Calendar_Data bắt đầu từ ngày 1 tháng 1 năm 2020 Mã số ________số 8 Sử dụng từ khóa SELECT, chúng ta có thể xem các bản ghi Calendar_Data bằng cách sử dụng vòng lặp WHILE và các chương trình được lưu trữ
đầu ra Phần kết luậnVòng lặp WHILE trong MySQL hoạt động để thực thi một khối câu lệnh trong khi điều kiện tìm kiếm hoặc nói điều kiện vòng lặp WHILE vẫn TRUE. Khi phần mã có điều kiện đã nêu, vòng lặp tiếp tục thực hiện phần SQL. Ngược lại, vòng lặp kết thúc nếu không có điều kiện WHILE nào xảy ra. Vòng lặp WHILE là cấu trúc chương trình được lưu trữ trong MySQL, triển khai hoạt động nhanh Bài viết được đề xuấtĐây là hướng dẫn về MySQL WHILE LOOP. Ở đây chúng tôi thảo luận về phần giới thiệu về MySQL WHILE LOOP với hoạt động của vòng lặp và các ví dụ tương ứng. Bạn cũng có thể xem qua các bài viết liên quan khác của chúng tôi để tìm hiểu thêm – Làm thế nào để viết vòng lặp while trong MySQL?Giới thiệu về câu lệnh vòng lặp WHILE của MySQL
. Đầu tiên, chỉ định điều kiện tìm kiếm sau từ khóa WHILE . WHILE kiểm tra điều kiện tìm kiếm ở đầu mỗi lần lặp. Nếu điều_kiện_tìm_kiếm là TRUE , WHILE sẽ thực thi danh_sách_câu_lệnh miễn là điều_kiện tìm kiếm là TRUE.
Làm cách nào để sử dụng vòng lặp trong truy vấn MySQL SELECT?Câu lệnh MySQL LOOP có thể được sử dụng để chạy đi chạy lại một khối mã hoặc tập hợp các câu lệnh, tùy thuộc vào điều kiện. tên nhãn. Đó là một nhãn tùy chọn ở đầu và cuối. các câu lệnh. Chúng có thể có một hoặc nhiều câu lệnh, mỗi câu lệnh kết thúc bằng dấu chấm phẩy (;) và được thực hiện bởi LOOP
Vòng lặp while tốt hơn con trỏ?Điều luôn gây nhầm lẫn là cái nào tốt hơn; . Mọi điểm nhấn của vòng lặp sẽ được thực thi bên trong bộ nhớ hệ thống và tiêu thụ tài sản máy chủ cần thiết. While SQL While loop is quicker than a cursor, reason found that cursor is defined by DECLARE CURSOR. Every emphasis of the loop will be executed inside system memory and consuming required server assets.
Vòng lặp nào nhanh hơn trong SQL Server?Theo thứ tự hiệu suất, nó sẽ là. 1. Con trỏ Tua nhanh (hầu hết các con trỏ có thể là FF), 2. Trong khi vòng lặp, 3. SP đệ quy |