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

MySQL chỉ định biến tạm thời?

Bạn có thể sử dụng lệnh SET để gán biến tạm thời.

Cú pháp như sau

 SET @ anyVariableName =(CHỌN yourColumnName TỪ yourTableName WHERE yourCondition); 

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau

 mysql> create table tempVariableAssignment -> (-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar (20), -> Age int ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,59 giây) 

Bây giờ hãy chèn một số bản ghi vào bảng bằng lệnh insert

 mysql> chèn vào giá trị tempVariableAssignment (Tên, Tuổi) ('John', 25); Truy vấn OK, 1 hàng bị ảnh hưởng (0,14 giây) mysql> chèn vào giá trị tempVariableAssignment (Tên, Tuổi) ('Carol', 26); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào các giá trị tempVariableAssignment (Tên, Tuổi) ('Sam', 28); Truy vấn OK, 1 hàng bị ảnh hưởng (0,13 giây) mysql> chèn vào tempVariableAssignment (Tên, Tuổi) giá trị ('David', 19); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây) mysql> chèn vào giá trị tempVariableAssignment (Tên, Tuổi) ('Bob', 23); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây)  

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select.

Truy vấn như sau

 mysql> select * from tempVariableAssignment; 

Sau đây là kết quả

 + ---- + ------- + ------ + | Id | Tên Tuổi | + ---- + ------- + ------ + | 1 | John | 25 || 2 | Carol | 26 || 3 | Sam | 28 || 4 | David | 19 || 5 | Bob | 23 | + ---- + ------- + ------ + 5 hàng trong bộ (0,00 giây) 

Đây là truy vấn để gán biến tạm thời trong MySQL

 mysql> set @ findAge =(chọn Tuổi từ tempVariableAssignment trong đó Id =4); Truy vấn OK, 0 hàng bị ảnh hưởng (0,02 giây) 

Hiển thị giá trị của biến @findAge.

Truy vấn như sau

 mysql> chọn @findAge; 

Sau đây là kết quả

 + ---------- + | @findAge | + ---------- + | 19 | + ---------- + 1 hàng trong bộ (0,01 giây) 

Đây là một truy vấn thay thế

 mysql> chọn Age INTO @ anotherAge-> từ tempVariableAssignment trong đó Id =4; Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây) 

Hiển thị giá trị của biến @a anotherAge.

Truy vấn như sau

 mysql> select @aosystemAge; 

Sau đây là kết quả

 + ------------- + | @a AnotherAge | + ------------- + | 19 | + ------------- + 1 hàng trong bộ (0,00 giây)