gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-30 23:36:48 24 4
gpt4 key购买 nike

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

是否可以从 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)
);

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

最佳答案

您可以使用 INSERT INTO ... SELECT 从一个表复制到另一个表。请在此处查看文档:http://dev.mysql.com/doc/refman/5.7/en/insert-select.html

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

INSERT INTO warehouse.DimRoute
SELECT * FROM corporate.Route;

如果数据库托管在不同的 MySQL 实例上,您可以使用 mysqldump 从公司实例中转储数据并导入到数据仓库实例中。 .由于您的表在数据仓库中的名称不同,因此这有点棘手。

您可以将数据恢复为原来的表名,然后重命名表:

$ 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

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

关于mysql - 我可以从另一个数据库填充一个数据库吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41089835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com