mysql - MySql Workbench 中的 Sql Server Management Studio USE 语句等效项

标签 mysql sql sql-server mysql-workbench ssms

Sql Server Management Studio中,我们可以使用USE语句对选定的数据库运行查询。 MySql 中是否有与此功能等效的函数?

问题是,我想对信息架构运行查询:

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'campaign'

但在我的程序中,我拥有的只是一个连接字符串,而不是数据库名称。如果我要在特定数据库下使用上述查询,我​​应该首先解析我的连接字符串并查找那里的数据库名称,然后将查询更改为:

SELECT * FROM databasename.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'campaign'

在 Sql Server 上,第一个查询仅将连接字符串的结果返回到目标数据库,但在 MySql 中,第一个查询显然是在所有数据库中查找该表,但这不是我想要的。

最佳答案

MySQL 也有 USE

USE db1;

此处的文档:http://dev.mysql.com/doc/refman/5.0/en/use.html

更新:重新阅读您的问题后,您似乎实际上并不想要USE,而是希望将结果过滤到特定架构:

SELECT * 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_NAME = N'campaign'
  AND TABLE_SCHEMA = 'databasename'

关于mysql - MySql Workbench 中的 Sql Server Management Studio USE 语句等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28566090/

相关文章:

sql - SQL 2005是否可以在案例陈述中使用关键字

php - Laravel插入多条记录,带有非数组变量

mysql - Laravel数据库结构 'apply'

c# - 如何在 where 和 between 子句中查询 DBF(dbase) 文件日期类型字段

php - 在 PHP 中 SELECT 语句返回 true,用它的主键更新另一个表

mysql - 在 postgres 的不同列中获取联合的输出

mysql - sql server 中 where 子句中的 case 语句与 else 始终为真

sql-server - 使用 SSIS 将 SQL Server 表/ View 以 Parquet/CSV/JSON 格式加载到 Azure Data Lake。灵活的文件目标任务不断抛出错误

用于转换和格式化日期的 MySQL 语法错误

mysql - 如何返回等于字符串的所有子字符串的行