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.
  • 相关阅读:
    PowerDesigner中生成SQL SERVER2005字段注释 和导出图片的方法
    右键显示打开控制台
    dubbo 的 Protocol 类
    nacos 的 grpc
    shell 替换文本中 为空格,多行为本合并为一行
    gcc、python3、python性能分析工具安装
    kafka listeners和advertised
    Default Activity not found 问题解决
    使用Global Mapper计算kml中面状图形的面积
    jeecg-boot 报表组——折线图初始化显示部分图例,部分变灰
  • 原文地址:https://www.cnblogs.com/linux-wangkun/p/5426516.html
Copyright © 2011-2022 走看看