zoukankan      html  css  js  c++  java
  • mysql

    mysql-to-mysql

    CREATE TABLE table_test ( 
       id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, 
       name varchar(255) not null, 
      PRIMARY KEY (`id`) 
    ) ENGINE=FEDERATED DEFAULT CHARSET=utf8 CONNECTION='mysql://root:abc@192.168.88.16:3306/dbname/tablename'
    
    -- 建立远程表需要开启federated引擎
    -- 登录mysql终端执行:show engines,确认federated是否开启(是否是YES)
    -- 如果没有开启,在my.ini中[mysqld]标签下下直接加上一行federated重启数据库服务即可
    

    数据清洗

    delimiter $$ -- 将语句的结束符号从分号;临时改为两个$$(可以是自定义)
    CREATE PROCEDURE app_info_add()
    
    BEGIN
    	-- 定义变量
    	DECLARE s int DEFAULT 0;
    	DECLARE appId varchar(255);
    	DECLARE partnerId varchar(255);
    	DECLARE appIdSec varchar(255);
    
    	-- 定义游标,并将sql结果集赋值到游标中
    	DECLARE report CURSOR FOR select app_id,partner_id,app_id_sec from temp_app_info;
    	-- 声明当游标遍历完后将标志变量置成某个值
    	DECLARE CONTINUE HANDLER FOR NOT FOUND SET s=1;
    	-- 打开游标
    	open report;
    		-- 将游标中的值赋值给变量,注意:变量名不要和返回的列名同名,变量顺序要和sql结果列的顺序一致
    		fetch report into appId,partnerId,appIdSec;
    		-- 当s不等于1,也就是未遍历完时,会一直循环
    		while s<>1 do
    			-- 执行业务逻辑
    			UPDATE tbl_service_applet_info 
    			SET partner_id=partnerId,mp_app_id=appId
    			WHERE app_id=appIdSec;
    			-- 将游标中的值再赋值给变量,供下次循环使用
    			fetch report into appId,partnerId,appIdSec;
    		-- 当s等于1时表明遍历以完成,退出循环
    		end while;
    	-- 关闭游标
    	close report;
    	
    END$$
    
    delimiter;  -- 将语句的结束符号恢复为分号
    call app_info_add();
    
  • 相关阅读:
    A*算法研究
    C++实现动态数组
    Sublime Text3括号配对与代码包围效果BracketHighlighter
    SublimeREPL配置Python3开发
    Ubuntu16.04下使用sublime text3搭建Python IDE
    Netbeans使用笔记
    vscode: Visual Studio Code 常用快捷键
    OKR 第一阶段
    浏览器是如何工作的
    javascriptdocument load 和document ready的区别
  • 原文地址:https://www.cnblogs.com/hellowzd/p/13891636.html
Copyright © 2011-2022 走看看