Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 스크립트에 변수를 어떻게 전달합니까?

<시간/>

세션 변수를 사용하여 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)

이제 insert 명령을 사용하여 테이블에 일부 레코드를 삽입할 수 있습니다. 쿼리는 다음과 같습니다 -

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)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다.

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 스크립트에 변수를 전달하는 쿼리입니다 -

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

이제 SELECT 문을 사용하여 테이블 레코드를 다시 한 번 확인하십시오. 저는 정규직으로 일하는 직원을 위해 EmployeeSalary를 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)