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.
  • 相关阅读:
    JS和PYTHON中数据类型比较
    http状态码
    ffmpeg architecture(上)
    降低数值精度以提高深度学习性能
    IaaS、PaaS 和 SaaS:云服务模型概述
    英特尔Intel® Arria® 10 FPGA加速器设计
    基于至强® 平台的内存数据库解决方案
    MLPerf结果证实至强® 可有效助力深度学习训练
    如何从数据角度为人工智能部署做好数据准备
    英特尔内存革新助平安云 Redis 云服务降本增效
  • 原文地址:https://www.cnblogs.com/linux-wangkun/p/5426516.html
Copyright © 2011-2022 走看看