1. false :0  true 1 切记

官方文档:http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

  • BOOLBOOLEAN

    These types are synonyms for TINYINT(1). A value of zero is considered false. Nonzero values are considered true:

    mysql> SELECT IF(0, 'true', 'false');
    +------------------------+
    | IF(0, 'true', 'false') |
    +------------------------+
    | false                  |
    +------------------------+
    
    mysql> SELECT IF(1, 'true', 'false');
    +------------------------+
    | IF(1, 'true', 'false') |
    +------------------------+
    | true                   |
    +------------------------+
    
    mysql> SELECT IF(2, 'true', 'false');
    +------------------------+
    | IF(2, 'true', 'false') |
    +------------------------+
    | true                   |
    +------------------------+

    However, the values TRUE and FALSE are merely aliases for 1 and 0, respectively, as shown here:

    mysql> SELECT IF(0 = FALSE, 'true', 'false');
    +--------------------------------+
    | IF(0 = FALSE, 'true', 'false') |
    +--------------------------------+
    | true                           |
    +--------------------------------+
    
    mysql> SELECT IF(1 = TRUE, 'true', 'false');
    +-------------------------------+
    | IF(1 = TRUE, 'true', 'false') |
    +-------------------------------+
    | true                          |
    +-------------------------------+
    
    mysql> SELECT IF(2 = TRUE, 'true', 'false');
    +-------------------------------+
    | IF(2 = TRUE, 'true', 'false') |
    +-------------------------------+
    | false                         |
    +-------------------------------+
    
    mysql> SELECT IF(2 = FALSE, 'true', 'false');
    +--------------------------------+
    | IF(2 = FALSE, 'true', 'false') |
    +--------------------------------+
    | false                          |
    +--------------------------------+

    The last two statements display the results shown because 2 is equal to neither 1 nor 0.

2 存储过程中执行动态sql

官方文档:

http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html

The first example shows how to create a prepared statement by using a string literal to supply the text of the statement:

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;

The second example is similar, but supplies the text of the statement as a user variable:

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;

Here is an additional example which demonstrates how to choose the table on which to perform a query at runtime, by storing the name of the table as a user variable:

mysql> USE test;
mysql> CREATE TABLE t1 (a INT NOT NULL);
mysql> INSERT INTO t1 VALUES (4), (8), (11), (32), (80);mysql> SET @table = 't1';
mysql> SET @s = CONCAT('SELECT * FROM ', @table);mysql> PREPARE stmt3 FROM @s;
mysql> EXECUTE stmt3;
+----+
| a  |
+----+
|  4 |
|  8 |
| 11 |
| 32 |
| 80 |
+----+

mysql> DEALLOCATE PREPARE stmt3;

总结:

执行动态sql,分三步走:

1. PREPARE;

 Syntax:

PREPARE stmt_name FROM preparable_stmt

2. EXECUTE;

   Syntax:

  EXECUTE stmt_name [USING @var_name [, @var_name] ...]

3. DEALLOCATE PREPARE;

  Syntax:

{DEALLOCATE | DROP} PREPARE stmt_name

3. 存储过程中的事务

语法:

START TRANSACTION [WITH CONSISTENT SNAPSHOT]
BEGIN [WORK]
COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
SET autocommit = {0 | 1}

转载于:https://www.cnblogs.com/davidwang456/p/4147132.html

mysql 存储过程项目小结相关推荐

  1. mysql 存储过程 on_MySQL存储过程的权限问题小结

    MySQL的存储过程,没错,看起来好生僻的使用场景.问题源于一个开发同学提交了权限申请的工单,需要开通一些权限. 本来是一个很正常的操作,但在我来看是比较着急且紧迫的,说来惭愧,忙着方向规划和开发的事 ...

  2. hibernate mysql 存储过程_hibernate调用mysql存储过程

    hibernate调用mysql存储过程 在最近的项目中,碰到一小段数据库数据分析的程序,需要结合多张表联合查询或涉及到子查询,项目主要采用的java ee开发,使用了hibernate框架,由于这些 ...

  3. mysql数据库存储数据的过程_[数据库]MySql存储过程总结

    [数据库]MySql存储过程总结 0 2014-06-12 01:00:50 之前总是在MSSQL上写存储过程,没有在MYSQL上写过,也基本没有用过,今天需要用到MYSQL,研究了下,把项目的需要的 ...

  4. go mysql存储过程_Golang 调用MySQL存储过程

    Golang 调用MySQL存储过程 最近写项目发现,很多逻辑业务的实现,写到数据库的存储过程中,然后调用,真的非常方便.后端代码量大大减少,最重要的是性能高,速度快! 引用说明:项目使用数据库ORM ...

  5. mysql存储过程into_MySQL存储过程中使用SELECT …INTO语句为变量赋值

    使用SELECT -INTO语句为变量赋值 在MySQL存储过程中,可以使用SELECT -INTO语句对变量进行赋值,该语句在数据库中进行查询,并将得到的结果赋值给变量.SELECT -INTO语句 ...

  6. 在mybatis用mysql的代码块_关于Mybatis 中使用Mysql存储过程的方法

    1.存储过程的简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用 ...

  7. mysql数据库项目化教程郑小蓉_MySQL数据库项目化教程(高等职业教育“十三五”规划教材(软件技术专业))...

    <MySQL数据库项目化教程/高等职业教育十三五规划教材(软件技术专业)>是一本介绍MySQL数据库基础知识的入门教材,采用项目驱动方式循序渐进地介绍MySQL各个模块的知识.主要内容包括 ...

  8. mysql存储过程语法 if_mysql存储过程语法 if

    MySql存储过程 MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程, ...

  9. AdoHelper使用MySQL存储过程示例

    AdoHelper是MS DAAB中的一个抽象数据访问类,由它派生出的SqlHelper使用很广泛,PDF.NET数据开发框架内部按照AdoHelper的接口做了一个自己的实现,下面简单说明一下怎么用 ...

最新文章

  1. c语言的图像拼接,OpenCV实现多图像拼接成一张大图分享!
  2. python多线程加锁异步处理装饰器
  3. 17.C#类型判断和重载决策(九章9.4)
  4. 64位ubuntu 12.04编译linux内核提示mkimage command not found
  5. Keywords Search HDU - 2222(AC自动机模板)
  6. IE下的一个安全BUG —— 可实时跟踪系统鼠标位置
  7. 随便创建Servlet文件都出现,请求资源不可用的情况
  8. 符号级别(一)--基础概念
  9. 数学篇--初中数学知识
  10. 4×4键盘板:ATMEGA328接口
  11. MWEC:一种基于多语义词向量的中文新词发现方法
  12. 工作这么多年,所经历5个骗子上司
  13. 文件处理命令-目录处理命令
  14. 过来人的经验:自学编程的6个建议
  15. CEPI扩大与三叶草生物合作,资助“S-三聚体”新冠疫苗候选物全球II/III期临床研究以获上市许可
  16. 各种“保险”英语怎么说?
  17. 计算机视觉—期刊|会议名称以及出版社对应大全
  18. Office_Professional_Plus_2010 with sp1 简体中文VOL版下载地址
  19. 无需繁琐同步 MOTO 360使用USB调试一键安装软件教程
  20. windows系统安装docker版本davinci达芬奇踩坑指南

热门文章

  1. esp8266单片机透传_ESP8266通过MQTT接入Home Assistant
  2. druid mysql配置详解_druid配置详解
  3. mfc 怎么让键盘上下左右控制图片移动_[源码和文档分享]基于MFC的陨石撞飞机游戏设计与实现...
  4. ffmpeg for android windows,windows10下编译ffmpeg for android
  5. python 把一个列表分成等长的多个列表
  6. 安徽省计算机二级大题教程,安徽省计算机二级例题
  7. php两次访问时间,php – 检查当前时间是否介于两次之间,可能会有几天的时间
  8. c++ vector clear()清除容器中所有数据
  9. python word2vector (三)
  10. 一文深入理解协同过滤