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
    然后脚本退出,第二张表也就无法创建。
     
     
     
     
  • 相关阅读:
    Markdown编辑器:Typora
    Makefile的编写
    【转】Java基础——成员变量、局部变量和静态变量的区别
    【转】jsp 和 servlet的联系和区别
    【转】keySet和entrySet的区别
    10月25日下午PHP静态、抽象、接口
    10月25日上午PHP继承多态
    10月24日下午PHP封装
    10月24日上午PHP面向对象
    MYSQL存储过程、游标、触发器
  • 原文地址:https://www.cnblogs.com/joeblackzqq/p/4519518.html
Copyright © 2011-2022 走看看