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

Sự giống nhau giữa các câu lệnh đã chuẩn bị và các biến người dùng MySQL là gì?


Như chúng ta biết rằng các biến người dùng MySQL dành riêng cho kết nối máy khách mà chúng được sử dụng trong đó và chỉ tồn tại trong khoảng thời gian của kết nối đó. Khi kết nối kết thúc, tất cả các biến người dùng của nó sẽ bị mất. Tương tự, các câu lệnh đã chuẩn bị cũng chỉ tồn tại trong khoảng thời gian của phiên mà nó được tạo và nó hiển thị với phiên mà nó được tạo. Khi một phiên kết thúc, tất cả các câu lệnh đã chuẩn bị cho phiên đó sẽ bị hủy.

Một điểm tương đồng khác là các câu lệnh chuẩn bị cũng không phân biệt chữ hoa chữ thường như biến người dùng MySQL. Ví dụ:cả stmt11 và STMT11 đều giống như được minh họa trong ví dụ sau -

mysql> Select * from student;
+------+-------+
| Id   | Name  |
+------+-------+
| 1    | Ram   |
| 2    | Shyam |
| 3    | Rohan |
+------+-------+
3 rows in set (0.00 sec)

mysql> SET @A = 'Sohan', @B = 3;
Query OK, 0 rows affected (0.00 sec)

mysql> EXECUTE Stmt11 USING @A, @B;
Query OK, 1 row affected (0.12 sec)

mysql> Select * from Student;
+------+-------+
| Id   | Name  |
+------+-------+
| 1    | Ram   |
| 2    | Shyam |
| 3    | Sohan |
+------+-------+
3 rows in set (0.00 sec)

mysql> SET @A = 'Gaurav', @B = 3;
Query OK, 0 rows affected (0.00 sec)

mysql> EXECUTE STMT11 USING @A, @B;
Query OK, 1 row affected (0.04 sec)

mysql> Select * from Student;
+------+--------+
| Id   | Name   |
+------+--------+
| 1    | Ram    |
| 2    | Shyam  |
| 3    | Gaurav |
+------+--------+
3 rows in set (0.00 sec)

Trong ví dụ trên, khi chúng ta đã thực thi stmt11 và lần tiếp theo chúng ta đã thực thi STMT11 và cả hai đều hoạt động như nhau vì các câu lệnh đã chuẩn bị không phân biệt chữ hoa chữ thường.