Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีส่งตัวแปรเข้าไปใน MySQL Script

ใช้ Session Variable (@variableName) กำหนดค่าก่อน แล้วใช้อ้างอิงใน Query ต่อไป

ขั้นตอน

  1. ตั้งค่าตัวแปร: SET @varName = 'value';
  2. ใช้ใน Query: ใส่ @varName ใน WHERE, SET, หรือส่วนอื่นของคำสั่ง

ตัวอย่างการใช้งาน

สร้างตาราง Employee_Information:

mysql> CREATE TABLE Employee_Information (
    -> EmployeeId INT NOT NULL AUTO_INCREMENT,
    -> EmployeeName VARCHAR(20) NOT NULL,
    -> EmployeeSalary INT,
    -> EmployeeStatus VARCHAR(20),
    -> PRIMARY KEY(EmployeeId)
    -> );

เพิ่มข้อมูล:

mysql> INSERT INTO Employee_Information(EmployeeName, EmployeeSalary, EmployeeStatus) 
    -> VALUES('Sam',17650,'FullTime'),('Carol',12000,'Trainee'),('Bob',17650,'FullTime'),
    -> ('Mike',12000,'Trainee'),('John',17650,'FullTime');

ข้อมูลก่อนอัปเดต

+------------+--------------+----------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary | EmployeeStatus |
+------------+--------------+----------------+----------------+
| 1          | Sam          | 17650          | FullTime       |
| 2          | Carol        | 12000          | Trainee        |
| 3          | Bob          | 17650          | FullTime       |
| 4          | Mike         | 12000          | Trainee        |
| 5          | John         | 17650          | FullTime       |
+------------+--------------+----------------+----------------+

ตั้งค่าตัวแปรและอัปเดตเงินเดือนพนักงาน FullTime เพิ่ม 6500

mysql> SET @EmpStatus = 'FullTime';
mysql> UPDATE Employee_Information 
    -> SET EmployeeSalary = EmployeeSalary + 6500 
    -> WHERE EmployeeStatus = @EmpStatus;

ผลลัพธ์หลังอัปเดต

+------------+--------------+----------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary | EmployeeStatus |
+------------+--------------+----------------+----------------+
| 1          | Sam          | 24150          | FullTime       |
| 2          | Carol        | 12000          | Trainee        |
| 3          | Bob          | 24150          | FullTime       |
| 4          | Mike         | 12000          | Trainee        |
| 5          | John         | 24150          | FullTime       |
+------------+--------------+----------------+----------------+

ประโยชน์: ใช้ตัวแปรได้หลายครั้งใน Script เดียว ลดความผิดพลาดจากการพิมพ์ซ้ำ