Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我可以从另一个数据库填充数据库吗_Mysql_Database_Data Warehouse - Fatal编程技术网

Mysql 我可以从另一个数据库填充数据库吗

Mysql 我可以从另一个数据库填充数据库吗,mysql,database,data-warehouse,Mysql,Database,Data Warehouse,我正在尝试创建一个数据仓库 是否可以从db2中的数据填充db1中的表 比如说 企业数据库表路由 CREATE TABLE ROUTE ( RouteID INTEGER(4) PRIMARY KEY, RouteName VARCHAR (50) NOT NULL, BoardingStop VARCHAR (50) NOT NULL, AlightingStop VARCHAR (50) NOT NULL ); 插入信息 INSERT INTO `ROUTE` (`RouteID`,`Rou

我正在尝试创建一个数据仓库

是否可以从db2中的数据填充db1中的表

比如说

企业数据库表路由

CREATE TABLE ROUTE (
RouteID INTEGER(4) PRIMARY KEY,
RouteName VARCHAR (50) NOT NULL,
BoardingStop VARCHAR (50) NOT NULL,
AlightingStop VARCHAR (50) NOT NULL
);
插入信息

INSERT INTO `ROUTE` (`RouteID`,`RouteName`,`BoardingStop`,`AlightingStop`)
VALUES (1,"ab","B","C")
数据仓库表dimRoute

CREATE TABLE DimROUTE (
RouteID INTEGER(4),
RouteName VARCHAR (50) NOT NULL,
BoardingStop VARCHAR (50) NOT NULL,
AlightingStop VARCHAR (50) NOT NULL,
PRIMARY KEY(RouteID)
);

使用第一个表中的数据填充上表。

您只需进行两次查询即可克隆一个表(带索引和键),然后使用记录填充该表:

CREATE TABLE DimROUTE LIKE ROUTE; 
INSERT DimROUTE SELECT * FROM ROUTE;

您可以使用插入到…中的
从一个表复制到另一个表中。。。选择
。请参见此处的文档:

您可以在同一MySQL实例上的不同数据库中的表之间进行复制,前提是您对这两个数据库都具有权限。只需使用
databasename.tablename
语法:

INSERT INTO warehouse.DimRoute
  SELECT * FROM corporate.Route;
如果数据库托管在不同的MySQL实例上,则可以使用从公司实例转储数据并导入到数据仓库实例。由于您的表在数据仓库中的名称不同,这有点棘手

您可以将数据还原为其原始表名,然后重命名该表:

$ mysqldump --host=corporate corp_dbname ROUTE > route-dump.sql
$ mysql --host=datawarehouse dw_dbname < route-dump.sql
$ mysql --host=datawarehouse -e "RENAME TABLE ROUTE TO DimROUTE" dw_dbname
$mysqldump--host=corporate corp\u dbname ROUTE>ROUTE-dump.sql
$mysql--host=datawarehouse dw_dbname

(为了简洁起见,我省略了用户/密码选项,但我建议您使用配置文件来实现这些选项。)

是的,您可以。您需要的技术称为。您可以使用许多工具,这些工具将帮助您自动化和组织流程。或者您可以推出自己的解决方案


报表数据库以这种方式由其他数据库馈送是很常见的。

有什么原因不能复制表吗?