create table foo (id, val1, user_id,...)
create table bar (id, foo_id, val2, ...)
create table baz (id, bar_id, val3, ...)
select * from foo where user_id = 1;
select * from bar where id in (select id from foo where user_id = 1)
select * from baz where id in (for all the above bars)
如何编写执行上述操作的转储命令
我有一个视图,它返回相当多的数据。现在,视图被加载到一个文件中,如下所示:
SELECT * FROM view INTO OUTFILE /path/to/file.tmp;
然后将其从该文件加载到一个表中:
LOAD DATA INFILE /path/to/file.tmp INTO TABLE table;
然后使用mysqldump创建该表的转储(实际上是多个表,前两个步骤重复多次,然后运行mysqldump )。
有没有更好的方法来做这件事?理想情况下,我希望在不将任何内容保存到文件的情况下执行此操作。是否可以只用一条语句从视图中创建数据的sql转储?
我正在尝试使用mysqldump命令备份mysql数据库,但是我得到的消息是mysqldump:选项--表不能使用参数。
给你:
root@myhost:~# mysqldump mydatabase --user myuser --password mypassword
Warning: Using unique option prefix table instead of tables is deprecated and will be removed in a future release. Please use the full name instead.
mysqldump: opt
我需要将数据(只有数据,而不是表或数据库)从数据库导出到SQL文件并保存它。如何编写这样做的PHP函数?在运行特定查询(例如,更新博客文章)时,我希望在特定情况下调用此函数。
类似于:
/*
* Get the data from the database (already specified) and export it to a SQL file
*
* @param string $dir Where to store the SQL file. Must be a full path.
* @return void
*/
function export_database_data(s
所以我是在高爸爸共同主持。需要用500 db的数据备份大约20个表的数据库和数据。
尝试解决方案:
1.解决方案: phpmyadmin
尝试简单地导出表,然后它开始导出,但由于错误而在两者之间失败。
mysql server has gone away
因此,试图通过增加wait_timeout来解决这个问题,但也失败了,因为我正在共享托管,它不允许我。让我犯了这样的错误
#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
2.尝试解决方案: mysqldump
最近,我一直在研究导出选项,以找到删除以下内容的选项:
DROP TABLE IF EXISTS并将其替换为CREATE TABLE IF NOT EXISTS。
我在其他MySQL客户机上见过,如HeidiSQL或sequelPro (用于MAC),您可以选择是否包含drop,但是在MySQL工作台中找不到任何相关的东西。
在导出和导入数据以与其他表交换数据时,这是非常危险的,它只是在表存在时删除表,而不是仅仅更新表。
我已经对这个问题做了研究,我得到的只是一个关于drop方法本身的解释。
我已经使用MySQL工作台很长一段时间了,现在我正考虑为此切换到另一个MySQL客户机。
我正在使用M