是否可以从现有的表数据中生成插入命令



我有一个表,它有一些数据。

name score
1 AAA  100
2 BBB  98
3 CCC  85

现在我想做插入句,比如

insert into pepolescore(name,score) VALUE("CCC",85)

自动。

是否有执行此操作或执行任何功能的命令?通过mysql命令行或CCD_ 1。

MySQL查询可以通过使用限定的表名来寻址同一MySQL Server实例上的另一个模式。看见https://dev.mysql.com/doc/refman/8.0/en/identifier-qualifiers.html

但是,如果表位于单独的MySQL服务器上,则这是不起作用的。给定的SQL查询只能寻址同一服务器上的架构。

以下是一些解决方法:

  1. 使用mysqldump从一个表导出数据,然后使用mysql将数据导入另一个实例上的另一个表。您需要注意不要让mysqldump输出DROP TABLE命令,因此请阅读此处的选项:https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html

  2. MySQL支持一个名为FEDERATED的表引擎,其中一个表可以作为另一个MySQL服务器上的表的某种代理。然后,您可以使用INSERT ... SELECT语法,就好像这些表位于同一个MySQL Server上一样。联邦引擎有局限性,请阅读https://dev.mysql.com/doc/refman/8.0/en/federated-storage-engine.html及其子部分了解更多信息。

  3. 使用社区工具(如pt-archiver(将数据从一个MySQL实例复制到另一个实例。阅读手册了解更多信息:https://docs.percona.com/percona-toolkit/pt-archiver.html

  4. 在客户端应用程序中编写自己的自定义代码。创建两个连接,每个MySQL Server一个。从第一个服务器获取查询结果,并将结果行存储在应用程序中的变量中。然后使用这些行作为元组,使用与其他MySQL Server的第二个连接进行插入。这需要编写更多的代码,但您可以获得很大的灵活性。

最新更新