MySQL执行拼接字符串语句实例

本文介绍了一种在MySQL中构建动态SQL的方法,通过变量拼接和预处理语句实现参数化查询,有效避免了SQL注入风险,并展示了如何执行预处理语句及获取结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-- 以下是一个MySQL执行拼接字符串语句实例:
-- 为需要拼接的变量赋值
SET @VARNAME='李';
-- 拼接字符串,其中?是执行拼接字符串语句的参数,@TestName是结果值
SET @SQLStr0=CONCAT('SELECT TestName INTO @TestName FROM test.t_TestTable WHERE Test_ID>? AND TestName LIKE "%',@VARNAME,'%" LIMIT 1;');
-- 预处理拼接好的字符串
PREPARE SQLStr1 FROM @SQLStr0;
-- 为参数赋值
SET @Test_ID=1;
-- 使用参数执行拼接好的字符串语句
EXECUTE SQLStr1 USING @Test_ID;
-- 释放拼接的字符串语句
DEALLOCATE PREPARE SQLStr1;
SELECT @TestName;-- 获取结果值

 

-- 如果不需要拼接变量或者直接都使用参数,那么可以直接开始预处理
-- 预处理拼接好的字符串
PREPARE SQLStr1 FROM 'SELECT TestName INTO @TestName FROM test.t_TestTable WHERE Test_ID>? AND TestName LIKE "%?%" LIMIT 1;';
-- 为参数赋值
SET @Test_ID=1;
SET @VARNAME='李';
-- 使用参数执行拼接好的字符串语句
EXECUTE SQLStr1 USING @Test_ID,@VARNAME;
-- 释放拼接的字符串语句
DEALLOCATE PREPARE SQLStr1;
SELECT @TestName;-- 获取结果值

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值