• 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语句存在变量里}"
  • 相关阅读:
    C# 获取枚举集合的其中两种方式
    UITextField限制字数的方法
    iOS
    iOS
    iOS
    iOS 获取已连接的wifi信息
    AFNetWorking 的简单使用
    CoreData 基本操作方法封装
    在Ios里UIWebView参入js
    AFNetworking教程
  • 原文地址:https://www.cnblogs.com/skyEva/p/12598560.html
Copyright © 2020-2023  润新知