zoukankan      html  css  js  c++  java
  • shell 下执行mysql 命令

    From: http://blog.csdn.net/beginning1126/article/details/8590014

    方案1

    1. mysql -uuser -ppasswd -e  
     
    优点:语句简单
    缺点:支持的sql相对简单
     

    方案2

    准备一个sql脚本,名字为update.sql,例如:
    1. CREATE TABLE `user` (  
    2. ) NOT NULL COMMENT ,  
    3. ) NOT NULL COMMENT ,  
    4. ) NOT NULL COMMENT ,  
    5. ,  
    6. ) NOT NULL COMMENT ,  
    7. ;  
    8. ) character set utf8 NOT NULL,  
    9. ) NOT NULL,  
    10. ;  

     

     新建一个update_mysql.sh,内容如下:
    [python] view plaincopy
    1. use chbdb;  
    2. source update.sql  

     

     
    然后执行如下命令:
    [python] view plaincopy
    1. cat update_mysql.sh | mysql --user=root -ppassword  

     

    优点:支持复杂的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. #!/bin/bash EOF  

     

    例如:
     
    1. #!/bin/bash ) NOT NULL COMMENT ,  
    2. ) NOT NULL COMMENT ,  
    3. ) NOT NULL COMMENT ,  
    4. ,  
    5. ) NOT NULL COMMENT ,  
    6. ;  

     

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

    方案4

    [python] view plaincopy
    1. mysql -uroot -ppassword < update.sql  
     
    优点:支持复杂的sql脚本
    缺点:
    1> 一旦中间出错,之后脚本就不会执行,例如:
    如果第一张表已经存在,则会报出如下异常:
    ERROR 1050 (42S01) at line 1 in file: 'update.sql': Table 'user' already exists
    然后脚本退出,第二张表也就无法创建。
     
     
     
     
  • 相关阅读:
    toolbar: '#tbSuppliers', 在上面, toolbar: 'tbSuppliers',在下面
    .net出现80080005错误的解决办法
    The expression of type List needs unchecked conversion to conform to
    我天性不宜交际
    一些资料
    $.connection.hub.start().done(function () { alert('signalR started'); }).fail
    使用 Web Notifications
    JS获取几种URL地址的方法
    随机生成汉字、字母、数字的方法
    linq剔除重复项
  • 原文地址:https://www.cnblogs.com/joeblackzqq/p/4519518.html
Copyright © 2011-2022 走看看