MySQL स्क्रिप्ट में वेरिएबल पास करने के लिए सेशन वेरिएबल का उपयोग करें। पहले SET कमांड से सेशन वेरिएबल सेट करें, फिर उसे MySQL स्क्रिप्ट में पास करें।
सिंटैक्स
पहला चरण: SET कमांड का उपयोग
SET @anyVariableName = 'yourValue';
दूसरा चरण: वेरिएबल को MySQL स्क्रिप्ट में पास करें
UPDATE yourTableName SET yourColumnName1 = yourColumnName1 + integerValue WHERE yourColumnName2 = @anyVariableName;
उदाहरण के साथ समझें
सबसे पहले एक टेबल बनाते हैं:
mysql> CREATE TABLE Employee_Information (
-> EmployeeId INT NOT NULL AUTO_INCREMENT,
-> EmployeeName VARCHAR(20) NOT NULL,
-> EmployeeSalary INT,
-> EmployeeStatus VARCHAR(20),
-> PRIMARY KEY(EmployeeId)
-> );
Query OK, 0 rows affected (0.53 sec)
रिकॉर्ड डालें
mysql> INSERT INTO Employee_Information(EmployeeName, EmployeeSalary, EmployeeStatus) VALUES('Sam', 17650, 'FullTime');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO Employee_Information(EmployeeName, EmployeeSalary, EmployeeStatus) VALUES('Carol', 12000, 'Trainee');
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO Employee_Information(EmployeeName, EmployeeSalary, EmployeeStatus) VALUES('Bob', 17650, 'FullTime');
Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO Employee_Information(EmployeeName, EmployeeSalary, EmployeeStatus) VALUES('Mike', 12000, 'Trainee');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO Employee_Information(EmployeeName, EmployeeSalary, EmployeeStatus) VALUES('John', 17650, 'FullTime');
Query OK, 1 row affected (0.16 sec)
सभी रिकॉर्ड देखें
mysql> SELECT * FROM Employee_Information;
आउटपुट
+------------+--------------+----------------+----------------+ | EmployeeId | EmployeeName | EmployeeSalary | EmployeeStatus | +------------+--------------+----------------+----------------+ | 1 | Sam | 17650 | FullTime | | 2 | Carol | 12000 | Trainee | | 3 | Bob | 17650 | FullTime | | 4 | Mike | 12000 | Trainee | | 5 | John | 17650 | FullTime | +------------+--------------+----------------+----------------+ 5 rows in set (0.00 sec)
वेरिएबल पास करके अपडेट करें
mysql> SET @EmpStatus = 'FullTime';
Query OK, 0 rows affected (0.03 sec)
mysql> UPDATE Employee_Information
-> SET EmployeeSalary = EmployeeSalary + 6500
-> WHERE EmployeeStatus = @EmpStatus;
Query OK, 3 rows affected (0.18 sec)
Rows matched: 3 Changed: 3 Warnings: 0
FullTime कर्मचारियों का वेतन 6500 बढ़ाया गया।
अपडेट के बाद रिकॉर्ड देखें
mysql> SELECT * FROM Employee_Information;
आउटपुट
+------------+--------------+----------------+----------------+ | EmployeeId | EmployeeName | EmployeeSalary | EmployeeStatus | +------------+--------------+----------------+----------------+ | 1 | Sam | 24150 | FullTime | | 2 | Carol | 12000 | Trainee | | 3 | Bob | 24150 | FullTime | | 4 | Mike | 12000 | Trainee | | 5 | John | 24150 | FullTime | +------------+--------------+----------------+----------------+ 5 rows in set (0.00 sec)
सेशन वेरिएबल @EmpStatus का उपयोग करके WHERE क्लॉज में डायनामिक मान पास किया गया।