Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách khai báo biến trong MySQL

Chúng ta có thể khai báo biến trong MySQL với sự trợ giúp của lệnh SELECT và SET. Trước khi khai báo biến, chúng ta cần tiền tố ký hiệu @.

Cú pháp như sau:

SELECT @yourVariableName;

Ký hiệu @ cho biết đó là biến do người dùng định nghĩa (user-defined variable) hay không. Nếu không có ký hiệu, nghĩa là biến cục bộ (local variable). Tiền tố hai @@ cho biết về biến hệ thống máy chủ (server system variables).

Ở đây, chúng ta sẽ tìm hiểu về biến do người dùng định nghĩa. Chúng ta có thể đặt giá trị cho biến với lệnh SET.

Cú pháp như sau:

SET @yourVariableName = value;

Lưu ý – Trong câu lệnh SELECT, "yourVariableName" chứa giá trị NULL và sau khi dùng lệnh SET nó chứa giá trị mà chúng ta đã đưa ra.

Bây giờ, chúng ta sẽ kiểm tra bằng cách áp dụng truy vấn trên. Trước hết, hãy khai báo một biến.

mysql> SELECT @engine;

Sau khi thực thi truy vấn trên, biến nhận giá trị NULL ban đầu. Đầu ra sau:

+---------+
| @engine |
+---------+
| NULL    |
+---------+
1 row in set (0.00 sec)

Đặt giá trị cho biến với lệnh SET:

mysql> SET @engine = 'start';
Query OK, 0 rows affected (0.00 sec)

Sau đó, chúng ta có thể kiểm tra giá trị chúng ta đã đưa ra. Với đó, dùng câu lệnh SELECT. Truy vấn sau:

mysql> SELECT @engine;

Sau khi thực thi truy vấn trên, chúng ta sẽ nhận giá trị cập nhật.

Đầu ra sau:

+---------+
| @engine |
+---------+
| start   |
+---------+
1 row in set (0.00 sec)

Bây giờ, chúng ta có thể cập nhật giá trị biến như sau:

mysql> SET @engine = 'close';
Query OK, 0 rows affected (0.00 sec)

Kiểm tra kết quả đã cập nhật hay chưa với lệnh SELECT:

mysql> SELECT @engine;

Sau khi thực thi truy vấn trên, chúng ta sẽ nhận đầu ra như sau:

+---------+
| @engine |
+---------+
| close   |
+---------+
1 row in set (0.00 sec)

Từ đầu ra trên rõ ràng biến @engine đã được cập nhật với giá trị 'close'.