MySQL SELECT INTO 变量
简介:在本教程中,您将学习如何使用MySQL
SELECT INTO variable
将查询结果存储在变量中。
MySQL SELECT INTO变量语法
要将查询结果存储在一个或多个变量中,请使用以下SELECT INTO variable
语法:
SELECT c1, c2, c3, ... INTO @v1, @v2, @v3,... FROM table_name WHERE condition;在这个语法中:
- c1,c2和c3是要选择并存储到变量中的列或表达式。
- @ v1,@ v2和@ v3是存储c1,c2和c3值的变量。
LIMIT 1
子句将结果集限制为单行。
MySQL SELECT INTO变量示例
我们将使用示例数据库中的customers
表进行演示。
+--------------------+ | products | +--------------------+ | productCode | | productName | | productLine | | productScale | | productVendor | | productDescription | | quantityInStock | | buyPrice | | MSRP | +--------------------+ 9 rows in set (0.03 sec)
MySQL SELECT INTO单变量示例
以下语句使用数字103获取客户的城市并将其存储在@city变量中:SELECT city INTO @city FROM customers WHERE customerNumber = 103;以下语句显示@city变量的内容:
SELECT @city;
+--------+ | @city | +--------+ | Nantes | +--------+ 1 row in set (0.00 sec)
MySQL SELECT INTO多变量示例
要将选择列表中的值存储到多个变量中,请使用逗号分隔变量。例如,以下语句查找客户编号103的城市和国家/地区,并将数据存储在两个对应的变量@city和@country中:SELECT city, country INTO @city, @country FROM customers WHERE customerNumber = 103;以下语句显示了@city和@country变量的内容:
SELECT @city, @country;
+--------+----------+ | @city | @country | +--------+----------+ | Nantes | France | +--------+----------+ 1 row in set (0.00 sec)
MySQL SELECT INTO变量 - 多行示例
以下语句导致错误,因为查询返回多行:SELECT creditLimit INTO @creditLimit FROM customers WHERE customerNumber > 103;这是输出:
ERROR 1172 (42000): Result consisted of more than one row要修复它,请使用以下
LIMIT 1
子句:
SELECT creditLimit INTO @creditLimit FROM customers WHERE customerNumber > 103 LIMIT 1;
mysql> select @creditLimit; +--------------+ | @creditLimit | +--------------+ | 71800.00 | +--------------+ 1 row in set (0.00 sec)在本教程中,您学习了如何使用MySQL
SELECT INTO variable
语法将结果查询结果存储在一个或多个变量中。