mysql - 查看已知数据库?

标签 mysql

我有一个已知数据库名称的列表,我想应用相同的 sql 命令。

很简单:

使用我的数据库; 插入表格(列) 值('值');

我想使用 for 循环或某种形式来替换“use my_database”部分。

我用谷歌搜索过,但大多数答案是关于“迭代所有数据库”,而不是已知数据库的一部分。

请指教。

最佳答案

您实际上并不需要使用use database 命令来与特定架构交互。您可以为表名添加前缀作为插入查询的一部分:

insert into schema_name.table_name (col) values ('value'); 将产生相同的最终结果。

如果你只处理 MySQL,你想要做的事情可能会有点麻烦,尽管你可以使用存储过程循环遍历所有所需的模式/表组合(尽管如果这只是一次性的事情) ,可能有点过分了)

如果您从具有写入权限的应用程序与 MySQL 交互,您可以:

  1. Build and array with schema names

具体细节取决于语言,但例如使用 PHP,您可以执行以下操作: $schemas = array('schema_one', 'schema_two', 'schema_third');

  1. Loop through the schema array

同样,在 PHP 中,您可以使用类似 foreach 的内容,如下所示:

foreach($schemas as $s)
{
    $stmt = "insert into ".$s.".table_name (col) values('".$value."')";
    // Here, you'd actually run $stmt against MySQL to run the insert. 
}

这是一个非常粗略的示例,我使用 PHP,因为我 99% 的编码时间都花在 PHP 上,但您可以使用任何其他编程语言来实现相同的目标

关于mysql - 查看已知数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53091504/

相关文章:

mysql - 如何从连接表sql中获取id

php - MYSQL 即使我在 php.ini 中定义,连接也超时

mysql - 逻辑类型问题: grouping/adding columns in mySql

php - 如何从 Laravel 中的原始 MySQL 请求获取结果?

php - 后 SELECT 元素值

c# - 提交时索引超出范围(Fluent NHibernate)

Mysql获取组的最后一个元素

php - 使用 PDO 进行行计数

php - 使用 PDO 准备语句插入多行

mysql - phpMyAdmin 上的错误 #1045 - Mac 上的访问被拒绝