zoukankan      html  css  js  c++  java
  • 用脚本完成mysql工作

    1. 用mysql -e在脚本中执行mysql的sql语句

    #!/bin/bash
    #simple mysql shell usage
    
    logtime=`date "+%Y-%m-%d"`
    LOG=call_sql_${logtime}.log
    echo "Start execute sql statement at `date`" >>${LOG}
    
    #execute sql stat
    mysql -u root -p19930309 -e "
    tee /tmp/temp.log
    use test
    drop table if exists stu;
    create table  stu(name varchar(20),age int);
    insert into stu values('wangkun',12),('amei',12),('Jack',14);
    select * from stu;
    notee
    quit
    "
    echo -e "
    " >> ${LOG}
    echo "below is output result :" >> ${LOG}
    cat /tmp/temp.log >> ${LOG}
    echo "scrtip execute successful." >> ${LOG}
    exit

      执行结果

      

    Start execute sql statement at Mon Apr 18 23:23:01 CST 2016
    
    
    below is output result :
    +---------+------+
    | name    | age  |
    +---------+------+
    | wangkun |   12 |
    | amei    |   12 |
    | Jack    |   14 |
    +---------+------+
    scrtip execute successful.

    2.通过管道符号

     select2.sql

    tee /home/hadoop_admin/mysql.log
    use test
    drop table if exists stu;
    create table  stu(name varchar(20),age int);
    insert into stu values('wangkun',12),('amei',12),('Jack',14);
    select * from stu;
    notee
    quit

      

    [hadoop_admin@master mysql_shell]$ mysql -u root -p19930309 < ./select2.sql
    Warning: Using a password on the command line interface can be insecure.
    Logging to file '/home/hadoop_admin/mysql.log'
    name    age
    wangkun 12
    amei    12
    Jack    14
    Outfile disabled.

    3.命令行单独调用sql文件

     select2.sql

    tee /home/hadoop_admin/mysql.log
    use test
    drop table if exists stu;
    create table  stu(name varchar(20),age int);
    insert into stu values('wangkun',12),('amei',12),('Jack',14);
    select * from stu;
    notee
    quit
    [hadoop_admin@master mysql_shell]$ mysql -u root -p19930309 -e "source select2.sql"
    Warning: Using a password on the command line interface can be insecure.
    Logging to file '/home/hadoop_admin/mysql.log'
    +---------+------+
    | name    | age  |
    +---------+------+
    | wangkun |   12 |
    | amei    |   12 |
    | Jack    |   14 |
    +---------+------+
    Outfile disabled.

    4. shell脚本中MySQL提示符下调用SQL , oracle 也可以这样干

      select3.sh

      

    #!/bin/bash
    mysql -u root -p19930309 <<EOF
    tee /home/hadoop_admin/mysql.log
    use test
    drop table if exists stu;
    create table  stu(name varchar(20),age int);
    insert into stu values('wangkun',12),('amei',12),('Jack',14);
    select * from stu;
    notee
    quit
    EOF
    exit

      执行情况

      

    [hadoop_admin@master mysql_shell]$ ./select3.sh
    Warning: Using a password on the command line interface can be insecure.
    Logging to file '/home/hadoop_admin/mysql.log'
    name    age
    wangkun 12
    amei    12
    Jack    14
    Outfile disabled.
  • 相关阅读:
    游戏与微博的结合,一个微博后台与前端的设计(基于mysql)。(一)
    UDK 学习点滴 (不断更新)
    多语言版本与UI的展现问题
    用dx11检查你的硬件设备中有几个适配器(adapter)
    多重采样与dx11检查硬件多重采样能力的API
    不均匀点香求时间的问题解
    图片内包含文本制作方法
    vim 搜索 向上 向下 取消高亮
    解决Ucenter 头像上传小收获
    不知道是什么意思
  • 原文地址:https://www.cnblogs.com/linux-wangkun/p/5426516.html
Copyright © 2011-2022 走看看