• mysql使用命令行执行存储过程


    编写存储过程sql

    以给brand表添加phone字段为例:

    DROP PROCEDURE  IF EXISTS UpdateColum;
    CREATE PROCEDURE UpdateColum()
    BEGIN
    
    SELECT database() INTO @dbName;
    	
    	
    SET @tablename = 'brand';
    SET @column_name = 'phone';
    SELECT 
    	CONCAT(
    		'select count(*) into @colName from information_schema.columns where table_name = ''',
    		@tablename,
    		''' and column_name = ''',
    		@column_name,
    		''' and table_schema=''', 
    		@dbName,
    		''';'
    		) 
    INTO 
    	@ckstring;
    
    PREPARE SQLStr1 FROM @ckstring;
    EXECUTE SQLStr1;
    DEALLOCATE PREPARE SQLStr1; 
     
    IF @colName = 0 THEN 
        ALTER TABLE 
    		brand 
    	ADD 
    		phone varchar(255) NOT NULL DEFAULT '';
    END IF;
    
    END;
    
    
    CALL UpdateColum();
    DROP PROCEDURE  IF EXISTS UpdateColum;
    
    

    命令行方式执行存储过程

    执行以下命令:

        命令1: 选择操作的数据库
    
     user  dbname ;
    
    命令2:修改行分割符
    

    delimiter ;;

    命令3:执行sql文件
    

    source /root/xxx.sql

    命令4:恢复行分割符
    

    delimiter ;

  • 相关阅读:
    php面试题-2
    排序算法-1
    php面试题-1
    ES6基础-4
    ES6基础-3
    mysql优化-1
    ES6基础-2
    vuecli 项目进行gzip压缩 使页面加载速度更快
    vueCli3 项目创建时,git bash 箭头选择无效问题
    gulp4简单用法和问题总结
  • 原文地址:https://www.cnblogs.com/qianlicao/p/10867838.html
Copyright © 2020-2023  润新知