在SQL Server上获得特定数据库中所有表的名称的最佳方法是什么?
当前回答
exec sp_msforeachtable 'print ''?'''
其他回答
SELECT sobjects.name
FROM sysobjects sobjects
WHERE sobjects.xtype = 'U'
USE YourDBName
GO
SELECT *
FROM sys.Tables
GO
OR
USE YourDBName
GO
SELECT * FROM INFORMATION_SCHEMA.TABLES
GO
请用这个。你会得到表名和模式名:
SELECT SYSSCHEMA.NAME, SYSTABLE.NAME
FROM SYS.tables SYSTABLE
INNER JOIN SYS.SCHEMAS SYSSCHEMA
ON SYSTABLE.SCHEMA_ID = SYSSCHEMA.SCHEMA_ID
使用SELECT * FROM INFORMATION_SCHEMA。COLUMNS还显示所有表和相关列。
2022年更新: 您可以在Microsoft SQL SERVER中列出/显示使用这个简单查询创建的表。
select * from SYS.TABLES;
推荐文章
- 在SQL中更新多个列
- 如何删除表中特定列的第一个字符?
- 等价的限制和偏移SQL Server?
- 如何从SQL Server中的字符串中剥离所有非字母字符?
- 为什么我不能在DELETE语句中使用别名?
- 多语句表值函数vs内联表值函数
- NOLOCK提示在SELECT语句中的作用
- SQL OVER()子句-它什么时候有用,为什么有用?
- 检查SQL Server登录是否已经存在
- 我如何使用ROW_NUMBER()?
- SQL或者TSQL是图灵完备的吗?
- 如何检查表上持有哪些锁
- SQL Server数据库备份恢复到低版本
- SQL Server:过滤sp_who2的输出
- 在SQL Server上使用varchar(MAX) vs TEXT