mysql 关于临时表的问题 请问下在命令行内用mysqldump可以调用内存中的表吗?就是我用储存过程创建了个临时表,执行过程后临时表的数据在内存里,现在我想把临时表中的数据dump出来,可以吗?还是创建一个普通的表,然后dump后再删除这个表,作用就跟临时表一样了。? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我知道,在mysql command line client里用select * from tmp_table into outfile "name.txt"可以把临时表里的导出来。但我想问的是如何mysqldump命令来找到临时表,如何从内存内dump。 mysqldump -uroot -p1234 db1 table1 > xx.sql 参考一下手册中的用法和说明。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html mysql> CREATE TEMPORARY TABLE TMP(A int);ERROR 1046 (3D000): No database selectedmysql> use mydb;Database changedmysql> CREATE TEMPORARY TABLE TMP(A int);Query OK, 0 rows affected (0.20 sec)mysql> insert into TMp values(1);Query OK, 1 row affected (0.06 sec)mysql> select * from tmp;+------+| A |+------+| 1 |+------+1 row in set (0.00 sec)mysql> exitByeMicrosoft Windows XP [版本 5.1.2600](C) 版权所有 1985-2001 Microsoft Corp.D:\mysql6\bin>mysqldump -uroot -p123 mydb tmp>1.sqlmysqldump: Couldn't find table: "tmp"D:\mysql6\bin>临时表只是连接有效,也就是说你在连接1里面创建的临时表,能且只能在连接1内访问得到。另外启动一个连接或者断开原来的链接回到DOS命令行下,都会导致临时表的失效。4楼的答案有待商榷。在连接保持的情况下select * from tmp_table into outfile "name.txt"可以得到临时表的数据。 mysql 有global临时表就好了。 所以我用储存过程创建一个临时表,并把数据库里的数据插入到临时表内,call执行后,(没有exit),然后进行dump是不可行的喽? call执行后,(没有exit),然后进行dump是不可行的喽?你能够做到DUMP和存储过程是同一个SESSION么??如果你能做到,那么可行。否则不可行。DUMP不属于任何一个SESSION。 请问哪有好用的Navicat软件下载啊? 连接不到mysql服务器 请问如何查询mysql的负荷状况? 关于mysql查询速度问题 mysqldump 如何导出 存储过程? 高分求一SQL语句 请问恢复备份的数据库使用什么命令??很急啊!拜托!!! SQL装上怎样才能使用呀!或许根本没装上!请指教! 求助啊!相同表结构的数张表导出sql文件到一张表中 求个Navicat premium 12的注册码 求SQL语句 紧急问题求助---MYSQL的二进制日志内容
MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
mysql> CREATE TEMPORARY TABLE TMP(A int);
ERROR 1046 (3D000): No database selected
mysql> use mydb;
Database changed
mysql> CREATE TEMPORARY TABLE TMP(A int);
Query OK, 0 rows affected (0.20 sec)mysql> insert into TMp values(1);
Query OK, 1 row affected (0.06 sec)mysql> select * from tmp;
+------+
| A |
+------+
| 1 |
+------+
1 row in set (0.00 sec)mysql> exit
Bye
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.D:\mysql6\bin>mysqldump -uroot -p123 mydb tmp>1.sql
mysqldump: Couldn't find table: "tmp"D:\mysql6\bin>
临时表只是连接有效,也就是说你在连接1里面创建的临时表,能且只能在连接1内访问得到。另外启动一个连接或者断开原来的链接回到DOS命令行下,都会导致临时表的失效。4楼的答案有待商榷。
在连接保持的情况下
select * from tmp_table into outfile "name.txt"
可以得到临时表的数据。