zoukankan      html  css  js  c++  java
  • 转 mysql mysql命令行中执行sql的几种方式总结

    https://www.jb51.net/article/96394.htm

    1.直接输入sql执行

    MySQL> select now();
    +---------------------+
    | now() |
    +---------------------+
    | 2013-09-18 13:55:45 |
    +---------------------+
    1 row in set (0.00 sec)

    2.执行编写好的sql脚本

    mysql> source H:/1.sql
    +---------------------+
    | now() |
    +---------------------+
    | 2013-09-18 13:54:04 |
    +---------------------+
    1 row in set (0.00 sec)

    3.select ...into outfile 方式执行sql

    mysql> select now() into outfile 'h:/data/2.sql';
    Query OK, 1 row affected (0.00 sec)

    4.使用mysql命令执行

    H:>mysql -uaHmin -p -e "select now()"
    Enter passworH: ****
    +---------------------+
    | now() |
    +---------------------+
    | 2013-09-18 13:57:09 |
    +---------------------+

    5.mysql命令执行sql,并将查询结果保存到文本中

    a)执行简单sql

    mysql -uaHmin -proot test -e "select now()" -N >H:/work/target1.txt
    如果sql很长,这种方式就不是很适合了。

    b)执行复杂sql

    可以将复杂的sql事先编辑好,存放到文本中在执行。
    H:> mysql -uroot -pmypwH -h127.0.0.1 -p3306 test < H:/work/source.sql > H:/work/target.txt

    将最后一种执行方式加上操作系统的定时任务,就可以在mysql中实现定时执行sql,并保存执行结果的目的了。

    参考:官方文档中的 3.5. Using mysql in Batch Mode
    http://dev.mysql.com/doc/refman/5.6/en/batch-mode.html

    以上就是小编为大家带来的mysql命令行中执行sql的几种方式总结全部内容了,希望大家多多支持脚本之家~

    ########

    MySQL关于时间的一些查询,查询今天,昨天......

    https://blog.csdn.net/weixin_41986096/article/details/80464008

    ##查询最近的一条信息

    SELECT column_name(s) FROM table_name WHERE column_name = pattern ORDER BY create_time DESC LIMIT 1;

    在某些情况下,如果明知道查询结果只有一个,SQL语句中使用LIMIT 1 会提高查询效率,避免全表扫描。

    ##查询今天

    SELECT column_name(s) FROM table_name WHERE DATE_FORMAT( create_time,'%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d');

    DATE_FORMAT()函数用于以不同的格式显示日期/时间数据

    DATE_FORMAT(date,format)

    date参数是合法的日期。format规定日期/时间的输出格式

    NOW()函数返回当前的日期和时间

    SELECT column_name(s) FROM table_name WHERE TO_DAYS(create_time) =TO_DAYS(NOW());

    SELECT colum_name(s) FROM table_name WHERE DATE(create_time) =DATE(CURDATE());

    DATE()提取日期或日期/时间表达式的日期部分

    ##查询昨天

    SELECT column_name(s) FROM table_name WHERE DATE_FORMAT( create_time,'%Y-%m-%d') = DATE_FORMAT(CURDATE()-1,'%Y-%m-%d');

    SELECT column_name(s) FROM table_name WHERE DATE(create_time) =DATE(CURDATE()-1);

    ##输出格式:2017-04-14

    SELECT CURDATE();

    ##输出格式:2017-04-14 13:44:11

    SELECT NOW();

    ##查询一个星期内的数据

    ## DATE_SUB(date,INTERVAL expr unit) 从日期减去指定的时间间隔

    SELECT column_name(s) FROM table_name WHERE DATE_SUB(CURDATE(),INTERVAL 7 DAY) <=DATE(create_time) ORDER BY create_time DESC;

    ##查询一个月内的数据

    SELECT column_name(s) FROM table_name WHERE DATE_SUB(CURDATE(),INTERVAL 1 MONTH) <= DATE(create_time) ORDER BY create_time DESC;

    ##返回date的星期索引(1 = Sunday, 2 = Monday, ... 7 = Saturday)。索引值符合 ODBC 的标准

    SELECT DAYOFWEEK(create_time) FROM table_name ORDER BY create_time DESC;

    ##格式化时间

    SELECT DATE_FORMAT(create_time,'%Y-%m-%d') FROM table_name ;

    ##返回当前时间 输出格式:15:17:51

    SELECT CURTIME();

    ##给日期添加指定的时间间隔  DATE_ADD(date,INTERVAL expr unit)

    SELECT column_name(s) FROM table_name WHERE DATE_ADD(create_time,INTERVAL 1 DAY) <= DATE(NOW());

    ##返回两个日期之间的天数 DATEDIFF(expr1,expr2)

    SELECT column_name(s) FROM table_name WHERE DATEDIFF( NOW(),create_time)=0

    =0代表查询的是当天,=1 查询的就是昨天……
    ————————————————
    版权声明:本文为CSDN博主「摘星族」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_41986096/article/details/80464008

    ####

    MySQL 字符串拼接详解

     

    在Mysql 数据库中存在两种字符串连接操作.具体操作如下
    一. 语法:
       1. CONCAT(string1,string2,…)   说明 : string1,string2代表字符串,concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL

  • 相关阅读:
    Windows Server 2003中不能安装MSN的解决方法
    招新人的一个标准
    SVN源代码服务器 证书通不过时的解决办法
    项目风险控制
    项目与团队管理体会
    季羡林老先生百年为人处世哲学
    李一男2003年在港湾给开发人员培训时的语录
    项目管理中的一些想法
    poj 1236 Network of Schools
    poj 2528 Mayor's posters
  • 原文地址:https://www.cnblogs.com/feiyun8616/p/11584293.html
Copyright © 2011-2022 走看看