• shell的MySQL命令


    1. mysql --help

    -h  : ip/host

    -u  : 用户名

    -p  : 密码

    -P  : 端口

    -D  : 指定库

    -e  : 指定sql语句

    -t  : 查询结果按表格展示

    -c, --comments :     Preserve comments. Send comments to the server. The default is --skip-comments (discard comments), enable with --comments.

                    (注释也显示出来, 没有此项,存储过程创建时会丢失原有注释)

    -N  : --skip-column-names Don't write column names in results.

     

    2. mysql执行完查询,结果是一行。如何截取某一列的值?

    result=`mysql -h -P -u -p -D -N -e"{query}"`
    
    echo $result
    echo $result | awk '{print $1}'
    
    ##获取第一列的值,默认是tab分隔符
    var1=`echo $result | awk '{print $1}'`
    

    3.  sql文件可以在连接mysql命令后,通过source + 文件名命令执行成功

    此时要注意delimiter的问题,默认的delimiter为; (mysql --help)

    若一个存储里含有多个; 会被截断成几段分开执行,而不是一个完整的存储

    • 可以在开头修改分隔符为 //,执行完毕后修改回去
    delimiter //
    
    -- 这里是你的存储开始
    CREATE PROCEDURE `rp_patient_indicator_result`()
    BEGIN
    
    insert into rp_dag_sdu_log(run_time,task_number,status,result_code,result_msg,create_time) values (DATE_FORMAT(sysdate(),'%Y-%m-%d-%H'),vv_task_number,0,code,msg,SYSDATE());
    
    -- -----------------
    //
    delimiter ;
    

     参考: https://blog.csdn.net/yuxin6866/article/details/52722913

     3. source的等价方式

    • mysql -h$Mysql_server -u$Mysql_user -p$Mysql_pswd -P$Mysql_port连接后,source + sql文件
    • mysql -h$Mysql_server -u$Mysql_user -p$Mysql_pswd -P$Mysql_port -D$executeDB -c <"${sql文件路径}"
    • mysql -h$Mysql_server -u$Mysql_user -p$Mysql_pswd -P$Mysql_port -D$executeDB -e"${sql语句存在变量里}"
  • 相关阅读:
    单链表的基本操作(查找,插入,删除)
    线性表的基本操作(插入,删除,查找)
    双人五子棋对战(需要EasyX图像库)
    2016ACM竞赛训练暑期课期末考试 a题
    百练_1664 放苹果
    百练_4120 硬币(DP)
    PAT_1046 划拳
    PAT_1026 程序运行时间
    学Android开发 这19个开发工具助你顺风顺水
    JAVA利用axis2发布webservice
  • 原文地址:https://www.cnblogs.com/skyEva/p/12598560.html
Copyright © 2020-2023  润新知