将我在SQL上的所有工作保存在一个文件中



实际上,我正在linux终端上工作Mysql。

我想要一个方法或一个命令来保存我写的所有查询和它们的输出在一个文件中。

好吧,编写每个查询并将其重定向到一个文件是非常困难和无用的!
如果有bash脚本或命令,它将是有用的。

是,tee命令可用于此目的。

登录到mysql时,你可以像

这样重定向

mysql -u username - password | tee -a outputfilename

您的整个会话将存储在文件

这有点高级,但我刚刚开始使用org-babel,它对SQL来说非常棒。

init.el中设置org-babel:

(org-babel-do-load-languages 'org-babel-load-languages
                             '((sql . t)))
(setq org-confirm-babel-evaluate nil
      org-src-fontify-natively t
      org-src-tab-acts-natively t)

创建一个组织模式的缓冲区。如果你愿意,你可以在*scratch*中运行M-x org-mode

然后写SQL:

#+BEGIN_SRC sql :engine "mysql" :dbhost "db.example.com" :dbuser "jqhacker" :dbpassword "passw0rd" :database "the_db"
show tables
select * from the_table limit 10
#+END_SRC

通过将游标放在SQL块中并键入C-c C-c来计算它。结果显示在缓冲区中。您可以编写任意数量的源代码块,并以任意顺序计算它们。

org-babel: http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-sql.html

我刚刚发现有一个SQL命令保存查询和输出在文件中;

mysql> tee filename ;

的例子:

mysql> tee tmp/output.out;
..logging to file 'tmp/output.out'

now:每个查询及其输出将保存在一个输出中。出文件。

注意:"记得写文件名时不要加引号"

最新更新