zoukankan      html  css  js  c++  java
  • MySQL-PREPARE语句

    MySQL-PREPARE语句

    功能介绍:

    MySQL准备语句用法

    为了使用MySQL准备语句,您需要使用其他三个MySQL语句如下:

      PREPARE - 准备执行的声明。

      EXECUTE - 执行由PREPARE语句定义的语句。

      DEALLOCATE PREPARE - 发布PREPARE语句。

    PREPARE语句使用:

    PREPARE stmt1 FROM 'SELECT productCode, productName
                        FROM products
                        WHERE productCode = ?';
    
    SET @pc = 'S10_1678';
    EXECUTE stmt1 USING @pc;
    
    DEALLOCATE PREPARE stmt1;

    第一,使用PREPARE语句准备执行语句。我们使用SELECT语句根据指定的产品代码从products表查询产品数据。然后再使用问号(?)作为产品代码的占位符。

    第二,声明了一个产品代码变量@pc,并将其值设置为S10_1678

    第三,使用EXECUTE语句来执行产品代码变量@pc的准备语句。

    第四,我们使用DEALLOCATE PREPARE来发布PREPARE语句。

    实例:

    该语句用于在给定了两个边的长度时,计算三角形的斜边。

    示例1:显示如何通过使用文字字符串来创建一个预制语句,以提供语句的文本:

    mysql> PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';
    mysql> SET @a = 3;
    mysql> SET @b = 4;
    mysql> EXECUTE stmt1 USING @a, @b;
    +------------+
    | hypotenuse |
    +------------+
    |     5 |
    +------------+
    mysql> DEALLOCATE PREPARE stmt1;

    示例2::与示例1相似,不同的是提供了语句的文本,作为一个用户变量:

    mysql> SET @s = 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';
    mysql> PREPARE stmt2 FROM @s;
    mysql> SET @a = 6;
    mysql> SET @b = 8;
    mysql> EXECUTE stmt2 USING @a, @b;
    +------------+
    | hypotenuse |
    +------------+
    |     10 |
    +------------+
    mysql> DEALLOCATE PREPARE stmt2;

    示例3:对于已预备的语句,您可以使用位置保持符。

    以下语句将从tb1表中返回一行:

    mysql> SET @a=1; mysql> PREPARE STMT FROM "SELECT * FROM tbl LIMIT ?"; mysql> EXECUTE STMT USING @a;

    以下语句将从tb1表中返回第二到第六行:

    mysql> SET @skip=1; SET @numrows=5;
     
     mysql> PREPARE STMT FROM "SELECT * FROM tbl LIMIT ?, ?";
     
     mysql> EXECUTE STMT USING @skip, @numrows;

    参考博客:http://www.cnblogs.com/simpman/p/6510604.html

  • 相关阅读:
    J. 最大权边独立集 题解(树上背包)
    F. 地图压缩 题解(kmp 最小循环节)
    Sum of Log 题解(数位dp)
    F. Scalar Queries 题解(思维+线段树)
    B. 攻防演练 题解(思维+倍增)
    Bit Sequence 题解(数位dp)
    机器学习
    Android学习笔记
    sqoop
    Initialization failed for block pool Block pool
  • 原文地址:https://www.cnblogs.com/loser1949/p/8159337.html
Copyright © 2011-2022 走看看