转 mysql mysql命令行中执行sql的几种方式总结

摘要:
H: ˃mysql-uroot-pmypwH-h127.0.0.1-p3306testH:/work/target。Txt通过将最后一个执行方法添加到操作系统的计划任务中,您可以在MySQL中定期执行SQL并保存执行结果。参考:3.5.在官方文档中使用mysqlinBatchModehttp://dev.mysql.com/doc/refman/5.6/en/batch-mode.html以上是我向您介绍的在MySQL命令行中执行SQL的所有方法的总结。我希望您可以在脚本home~#############MySQL中支持更多关于时间的查询。今天,昨天https://blog.csdn.net/weixin_41986096/article/details/80464008##查询最近的消息SELECTcolumn_nameFROMtable_nameWHEREcolumn_name=patternORDERBYcreate_timeDESCLIMT1;在某些情况下,如果您知道只有一个查询结果,那么在SQL语句中使用LIMIT1将提高查询效率并避免全表扫描。

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

免责声明:文章转载自《转 mysql mysql命令行中执行sql的几种方式总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android打造带透明圆弧的ImageViewerlang 故障排查工具下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL4:存储过程和函数

什么是存储过程 简单说,存储过程就是一条或多条SQL语句的集合,可视为批文件,但是起作用不仅限于批处理。本文主要讲解如何创建存储过程和存储函数以及变量的使用,如何调用、查看、修改、删除存储过程和存储函数等。使用的数据库和表还是之前写JDBC用的数据库和表: create databaseschool; useschool; create tablest...

Mysql常见报错解决方法

一:登录报错 ERROR 1045 (28000): Access denied for user 'mysql'@'localhost' (using password: NO) mysql日志文件总结此问题的整体步骤如下: 第一步:修改pid路径 查看日志文件中错误信息: cat /var/log/mysqld.log 2013-10-26 16:39...

php+mysql缓存技术的实现

本教程适合于那些对缓存SQL查询以减少数据库连接与执行的负载、提高脚本性能感兴趣的PHP程序员。概述许多站点使用数据库作为站点数据存储的容器。数据库包含了产器信息、目录结构、文章或者留言本,有些数据很可能是完全静态的,这些将会从一个缓存系统中得到的极大好处。这样一个系统通过把SQL查询的结果缓存到系统的一个文件中存储,从而阻止连接数据库,构造查询与取得返回...

jQuery .tmpl(), .template()学习资料小结

昨晚无意中发现一个有趣的jQuery插件.tmpl(),其文档在这里。官方解释对该插件的说明:将匹配的第一个元素作为模板,render指定的数据,签名如下: .tmpl([data,][options]) 其中参数data的用途很明显:用于render的数据,可以是任意js类型,包括数组和对象。options一般情况下都是选项了,官方指出,此处的optio...

Mysql+Keepalived双主热备高可用操作记录

我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换。使用Keepalived,可以通过...

Linux网络编程 select/epoll得知socket有数据可读,如何判断数据全部被读取完毕?

补充一点:只有在使用epoll ET(Edge Trigger)模式的时候,才需要关注数据是否读取完毕了。使用select或者epoll的LT模式,其实根本不用关注数据是否读完了,select/epoll检测到有数据可读去读就OK了。 这里有两种做法: 1. 针对TCP,调用recv方法,根据recv方法的返回值,如果返回值小于我们指定的recv buf...