Awa*_*wan 283 sql sql-server
我正在开发可以处理多个数据库服务器的应用程序,如"MySQL"和"MS SQL Server".
我想使用适用于所有数据库类型的通用查询来获取特定数据库的表名.我试过以下:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'
Run Code Online (Sandbox Code Playgroud)
但它给出了特定服务器的所有数据库的表名,但我想获取所选数据库的表名.如何限制此查询以获取特定数据库的表?
小智 465
可能是由于不同的sql dbms处理模式的方式.
请尝试以下方法
对于SQL Server:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG='dbName'
Run Code Online (Sandbox Code Playgroud)
对于MySQL:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA='dbName'
Run Code Online (Sandbox Code Playgroud)
对于Oracle,我认为相当于使用DBA_TABLES.
bla*_*bla 79
USE YOURDBNAME
GO
SELECT *
FROM sys.Tables
GO
Run Code Online (Sandbox Code Playgroud)
ani*_*key 26
以下查询将选择Tables名为的数据库中的所有内容DBName:
USE DBName
GO
SELECT *
FROM sys.Tables
GO
Run Code Online (Sandbox Code Playgroud)
Gop*_*005 16
USE DBName;
SELECT * FROM sys.Tables;
Run Code Online (Sandbox Code Playgroud)
我们可以GO在没有就地使用分号的情况下处理;.
小智 14
只需把它DATABASE NAME放在前面INFORMATION_SCHEMA.TABLES:
select table_name from YOUR_DATABASE.INFORMATION_SCHEMA.TABLES where TABLE_TYPE = 'BASE TABLE'
Run Code Online (Sandbox Code Playgroud)
AGR*_*AGR 11
如果有人想在不使用“use”关键字的情况下列出特定数据库中的所有表,请执行以下操作:
SELECT TABLE_NAME FROM databasename.INFORMATION_SCHEMA.TABLES
Run Code Online (Sandbox Code Playgroud)
Lor*_*ate 10
在mysql中,使用:
SHOW TABLES;
Run Code Online (Sandbox Code Playgroud)
选择数据库后:
USE db_name
Run Code Online (Sandbox Code Playgroud)
选择下面的数据库查询:
use DatabaseName
Run Code Online (Sandbox Code Playgroud)
现在
SELECT * FROM INFORMATION_SCHEMA.TABLES
Run Code Online (Sandbox Code Playgroud)
现在您可以在控制台中看到下面创建的表。
PFA。
我没有看到这个答案,但是这就是我的意思:
SELECT name FROM databaseName.sys.Tables;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1063506 次 |
| 最近记录: |