我有一个表,它有一些数据。
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查询只能寻址同一服务器上的架构。
以下是一些解决方法:
-
使用mysqldump从一个表导出数据,然后使用mysql将数据导入另一个实例上的另一个表。您需要注意不要让mysqldump输出
DROP TABLE
命令,因此请阅读此处的选项:https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html -
MySQL支持一个名为FEDERATED的表引擎,其中一个表可以作为另一个MySQL服务器上的表的某种代理。然后,您可以使用
INSERT ... SELECT
语法,就好像这些表位于同一个MySQL Server上一样。联邦引擎有局限性,请阅读https://dev.mysql.com/doc/refman/8.0/en/federated-storage-engine.html及其子部分了解更多信息。 -
使用社区工具(如
pt-archiver
(将数据从一个MySQL实例复制到另一个实例。阅读手册了解更多信息:https://docs.percona.com/percona-toolkit/pt-archiver.html -
在客户端应用程序中编写自己的自定义代码。创建两个连接,每个MySQL Server一个。从第一个服务器获取查询结果,并将结果行存储在应用程序中的变量中。然后使用这些行作为元组,使用与其他MySQL Server的第二个连接进行插入。这需要编写更多的代码,但您可以获得很大的灵活性。