Câu lệnh If-Then trong MySQL

Mysql If Then Statements



Khai báo ‘IF’ thường được sử dụng trong các chương trình được bảo toàn trong MySQL thực thi cấu trúc có điều kiện đơn giản. Câu lệnh IF-THEN cho phép một loạt câu lệnh SQL được thực hiện dựa trên một điều kiện được chỉ định. Nó mang lại True, False hoặc NULL là một trong ba giá trị. Trong suốt hướng dẫn này, chúng ta sẽ hiểu cách xử lý một đoạn lệnh SQL liên quan đến một điều kiện nhất định bằng cách sử dụng câu lệnh MySQL IF-then.

Cú pháp:

>>Câu lệnh IF điều kiện THEN KẾT THÚC IF;

Theo cú pháp sau:







  • Nếu nó' s mệnh đề từ khóa cho điều kiện được bắt đầu.
  • Tình trạng : Sau mệnh đề ‘IF’, Đó là ràng buộc được thực hiện.
  • Các câu lệnh : Có thể là bất kỳ đoạn mã nào, ví dụ: chọn, truy xuất, cập nhật, xóa. Nếu một điều kiện được đánh giá là TRUE, thì các câu lệnh sau mệnh đề ‘THEN’ sẽ được thực thi.
  • ENDIF: Đây là phần cuối của mệnh đề 'IF'. Sau đó, lũy thừa được chuyển sang mệnh đề tiếp theo.

Hãy bắt đầu hiểu If-then bằng cách khởi chạy trình bao lệnh MySQL. Bằng cách nhập mật khẩu, chúng tôi đã sẵn sàng để bắt đầu.





Ví dụ 01: Hàm IF () trong MySQL:

Để có kiến ​​thức về câu lệnh If, trước tiên chúng ta phải kiểm tra hàm IF (). Trong ví dụ dưới đây, chúng tôi đã xác định hàm IF () trong truy vấn SELECT và đưa ra điều kiện để kiểm tra xem 2 có lớn hơn 9 hay không. Nếu điều kiện hợp lệ, nó sẽ trả về giá trị đầu tiên sau điều kiện; nếu không, thứ hai. Vì điều kiện của chúng tôi không hợp lệ, đó là lý do tại sao nó trả về 'false'.





Hãy giả sử một 'thứ tự' bảng như được hiển thị trong hình ảnh được thêm vào.



>>LỰA CHỌN*TỪ data.order;

Hãy xem hàm IF () được thực hiện trên bảng này. Chúng tôi đã chọn ba cột. Nếu cột ‘Trạng thái’ có giá trị ‘Đã trả tiền’ thì phương thức IF () sẽ trả về ‘Xuất sắc’, ngược lại là ‘Xấu’. Giá trị trả về của hàm IF () sẽ được lưu vào cột ‘Nhận xét’ mới được tạo trong thời gian chạy. Bây giờ chúng ta có thể thấy đầu ra như được thêm vào bên dưới.

Ví dụ 02: Câu lệnh IF-THEN của MySQL

Chúng tôi đã thử một hàm IF () trên dòng lệnh MySQL. Hãy thử một ví dụ mới về câu lệnh IF-Then trong MySQL GUI khi sử dụng các thủ tục. Mở MySQL Workbench 8.0 và kết nối với Cơ sở dữ liệu trước.

Chúng tôi đã làm việc trên cơ sở dữ liệu ‘data’; sau đó, bạn phải nêu lệnh ‘use data’ để sử dụng nó trong Workbench. Nhấn vào biểu tượng flash để thực thi nó. Bạn phải biết rằng câu lệnh If-then hoạt động với các thủ tục lưu trữ, như được hiển thị bên dưới. Chúng tôi đã khai báo một dấu phân tách từ khóa để bắt đầu quy trình cửa hàng. Thủ tục ‘myResult’ đã nhận hai đối số. Sau câu lệnh BEGIN, chúng ta có một câu lệnh IF đang kiểm tra điều kiện. Nếu điều kiện thỏa mãn, thì lệnh ‘THEN’ và câu lệnh sau của nó sẽ được thực hiện. Nếu điều kiện sai, thì các câu lệnh sau 'END IF' sẽ được thực hiện.

Vì thủ tục ‘myResult’ đã nhận hai đối số, chúng ta phải chuyển hai giá trị vào nó.

Sau khi truyền các giá trị cho thủ tục lưu trữ, chúng ta phải Gọi thủ tục để xem kết quả của câu lệnh If-then.

Và kết quả được đưa ra dưới đây. Nó đã tính toán tỷ lệ chiết khấu thông qua câu lệnh If-then.

Nếu bạn muốn sử dụng lại cùng một quy trình đã lưu trữ, trước tiên bạn phải bỏ quy trình này bằng cách sử dụng lệnh DROP bên dưới và sau đó thực thi lại.

Ví dụ 03: Câu lệnh IF-THEN-ELSE của MySQL

Hãy đi đến một số cấp độ rộng. Chúng ta sẽ xem xét câu lệnh IF-Then-Else lần này bằng cách sử dụng thủ tục được lưu trữ trong ví dụ của chúng tôi. Hãy xem bảng dưới đây, 'sinh viên' với một số trường trong đó.

>>LỰA CHỌN*TỪ data.student;

Trước hết, bạn phải sử dụng cơ sở dữ liệu ‘data’ để sử dụng bảng ‘student’ trong thủ tục lưu trữ của chúng tôi. Để làm điều đó, hãy nhập lệnh dưới đây vào dòng lệnh MySQL của bạn.

>>sử dụng dữ liệu;

Bây giờ khai báo một dấu phân cách, và sau đó bắt đầu viết thủ tục lưu trữ. Lệnh ‘CREATE’ sẽ được dùng để khai báo hoặc tạo một thủ tục như mọi khi. Thủ tục 'chi tiết' đã nhận được hai đối số. Sau đó, thủ tục cửa hàng bắt đầu với từ khóa ‘BEGIN’. Từ ‘DECLARE’ đã được sử dụng để định nghĩa một biến ‘Sub’ cho các đối tượng. Truy vấn ‘SELECT’ đã được sử dụng để chọn các giá trị của cột ‘Subject’ từ bảng ‘student’ và lưu nó vào biến ‘Sub’ mới được khai báo. Giá trị ‘S_Subject’ do người dùng cung cấp sẽ được so sánh với giá trị ‘Chủ đề’ của cột. Trong câu lệnh ‘IF’, Nếu giá trị ‘S_Subject’ do người dùng cung cấp khớp với giá trị cột ‘Chủ đề’, thì câu lệnh ‘THEN’ tương đối sẽ được thực thi cùng với các câu lệnh bên trong. Thủ tục này sẽ được xử lý từ câu lệnh ‘IF’ đầu tiên đến câu lệnh thứ hai, sau đó là câu lệnh ‘ELSEIF’ thứ ba. Nếu phần ‘ELSEIF’ cuối cùng không khớp với giá trị do người dùng cung cấp, thì quyền kiểm soát sẽ được cấp cho câu lệnh ‘END IF’.

Hãy kết thúc dấu phân cách bằng lệnh dưới đây.

Chúng ta phải gọi thủ tục lưu trữ bằng cách thực thi nó với truy vấn ‘CALL’ và các đối số được cung cấp trong dấu ngoặc đơn. Vì chúng tôi đã cho ‘Maths’ làm giá trị của nó, sau đó một cột mới sẽ được tạo ra để xuất ra câu lệnh ‘THEN’ và ‘SET’.

Hãy kiểm tra cột ‘S_Cource’ mới được tạo bằng cách sử dụng lệnh bên dưới. Bạn có thể thấy chúng tôi có một kết quả phù hợp theo khóa học 'Toán học'.

Gọi lại thủ tục bằng một thay đổi ở đối số đầu tiên, tức là chủ đề. Chúng tôi đã cung cấp chủ đề 'Máy tính' lần này.

Trong khi chọn giá trị của cột ‘S_Cource’, bạn có thể thấy chúng tôi có một giá trị liên quan đến chủ đề ‘Máy tính’, là ‘CNTT’.

Một lần nữa, chúng tôi đã gọi thủ tục như bên dưới bằng một sửa đổi ở đối số đầu tiên. Chúng tôi đã giao chủ đề 'Lịch sử' lần này.

Bằng cách gọi lại cột là ‘S_Cource’, bạn có thể thấy cách chúng tôi có kết quả là ‘Masters in History’ về chủ đề được cung cấp gần đây, ví dụ: Lịch sử.

Phần kết luận:

Chúng tôi đã thực hiện tất cả các ví dụ cần thiết cho việc xây dựng câu lệnh If-then, ví dụ: hàm IF (), câu lệnh If-then đơn giản, câu lệnh If-then-else.