mysql总结(持续更新)

资料

官方mysql 5.1文档

酷壳mysql文章

配置

绿色版Mysql的安装配置

备份

MySQL的备份与还原

INFORMATION_SCHEMA信息数据库

** infomation_schema**
INFORMATION_SCHEMA提供了访问数据库元数据的方式。

存储过程

变量

变量声明

  DECLARE var_name[,...] type [DEFAULT value]

变量赋值

  SET var_name = expr [, var_name = expr] ...

  SELECT col_name[,...] INTO var_name[,...] table_expr

重要: SQL变量名不能和列名一样。如果SELECT … INTO这样的SQL语句包含一个对列的参考,并包含一个与列相同名字的 局部变量,MySQL当前把参考解释为一个变量的名字。例如,在下面的语句中,xname 被解释为到xname variable 的参考而不是到xname column的:

CREATE PROCEDURE sp1 (x VARCHAR(5))
  BEGIN
    DECLARE xname VARCHAR(5) DEFAULT 'bob';
    DECLARE newname VARCHAR(5);
    DECLARE xid INT;
    
    SELECT xname,id INTO newname,xid 
      FROM table1 WHERE xname = xname;
    SELECT newname;
  END;

当这个程序被调用的时候,无论table.xname列的值是什么,变量newname将返回值‘bob’。

打印

select varname;

  • 动态sql

循环光标

光标用于指定查询结果,经常与循环一起使用。

    /** 声明光标 **/
   DECLARE cur_1 CURSOR FOR select table_schema,table_name,column_name from information_schema.COLUMNS where data_type='varchar';
   /** 当光标中无数据时变量b值变成1**/
   DECLARE CONTINUE HANDLER FOR NOT FOUND SET b = 1;
   /** 打开光标**/
   OPEN cur_1;
   REPEAT
   /** 读取下一行(如果有下一行的话),并且前进光标指针。**/
   FETCH cur_1 INTO table_schemas,table_names,column_names; /*获取第一条记录*/
    if b<>1 then 
          set dongtaisql = CONCAT(dongtaisql,'\n update');         
    end if;
   UNTIL b END REPEAT;
   /** 关闭光标,如果未被明确地关闭,光标在它被声明的复合语句的末尾被关闭。**/
   close cur_1;  

其它

拼接字符串
concat(str,str1,…)

    原文作者:张年轮
    原文地址: https://www.jianshu.com/p/b2a1bcba9534
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞