• shell操作mysql


    shell操作mysql

           在shell开发中,很多时候我们需要操作mysql数据库(比如:查询数据、导出数据等),但是我们又无法进入mysql命令行的环境,就需要在shell环境中模拟mysql的环境,使用mysql相关命令,本文总结几种shell操作mysql的方法,供大家参考。

    方案1

       
    优点:语句简单
    缺点:支持的sql相对简单
     

    方案2

    准备一个sql脚本,名字为update.sql,例如:
     
     新建一个update_mysql.sh,内容如下:
     
     
    然后执行如下命令:
     
    优点:支持复杂的sql脚本
    缺点:
    1> 需要两个文件:update.sql和update_mysql.sh
    2> 一旦中间出错,之后脚本就不会执行,例如:
    如果第一张表已经存在,则会报出如下异常:
    ERROR 1050 (42S01) at line 1 in file: 'update.sql': Table 'user' already exists
    然后脚本退出,第二张表也就无法创建。

    方案3

        新建一个shell脚本,格式如下:
     
    例如:
     
    优点:
    1>支持复杂的sql脚本
    2>无需其它额外文件
    缺点:
    1> 表名、字段不能使用单引号,需要修改原有sql语句
    2> 一旦中间出错,之后脚本就不会执行,例如:
    如果第一张表已经存在,则会报出如下异常:
    ERROR 1050 (42S01) at line 1 in file: 'update.sql': Table 'user' already exists
    然后脚本退出,第二张表也就无法创建。

    方案4

    准备一个sql脚本,如update.sql,然后执行如下命令:
     
    优点:支持复杂的sql脚本
    缺点:
    1> 一旦中间出错,之后脚本就不会执行,例如:
    如果第一张表已经存在,则会报出如下异常:
    ERROR 1050 (42S01) at line 1 in file: 'update.sql': Table 'user' already exists
    然后脚本退出,第二张表也就无法创建。
     
     
        大家知道在mysql命令行中使用source命令,即使中间出错,后续脚本也会继续执行,但是如上几种方式,均无法解决该问题,如果大家有好的建议,请回复,谢谢。
  • 相关阅读:
    听豆瓣架构变迁分享会总结
    业界对生成图片缩略图的做法归纳
    58和百姓网的技术学习
    减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同
    网站速度问题排查与定位经验
    调度思想-现实中的事物与技术里面其实存在类似道理
    关于图片或者文件在数据库的存储方式归纳
    mysql单表体积和一个库设计多少张表为妥
    php的变量引用与销毁机制
    选择技术方案权衡时,考虑对其可控性很重要
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330197.html
Copyright © 2020-2023  润新知