sql 全部表名
  X5zJxoD00Cah 2023年12月11日 16 0

sql 全部表名


https://blog.51cto.com/u_16055028/7211099

def all_table():
    statement_1 = r"SELECT * FROM sysobjects WHERE xtype='U'; -- 利用sysobjects系统表"
    statement_2 = r"SELECT * FROM sys.tables; -- 利用sys.tables目录视图"
    statement_3 = r"EXEC sp_tables; -- 利用存储过程sp_tables"
    con = mssql_con()
    df = pd.read_sql(statement_3, con)
    return df.shape
all_table()

exec 查到的最多 包含了视图

在SQL中,获取所有表名的方法取决于你使用的数据库系统。以下是一些常见数据库系统的查询语句¹:


- **Oracle**:

```sql

SELECT * FROM ALL_TABLES; -- 系统里有权限的表

SELECT * FROM DBA_TABLES; -- 系统表

SELECT * FROM USER_TABLES; -- 当前用户下的表

```

- **SQL Server**:

```sql

SELECT * FROM sysobjects WHERE xtype='U'; -- 利用sysobjects系统表

SELECT * FROM sys.tables; -- 利用sys.tables目录视图

EXEC sp_tables; -- 利用存储过程sp_tables

```


获取每个表的第一行数据,你可以使用`LIMIT`(在MySQL中)或者`TOP`(在SQL Server中)关键字。但是,你需要为每个表单独执行查询。以下是一个例子²:


```sql

SELECT * FROM 表名 LIMIT 1; -- MySQL

SELECT TOP 1 * FROM 表名; -- SQL Server

```


请注意,你需要将`表名`替换为你想要查询的实际表名。


希望这个信息对你有所帮助!如果你有任何其他问题,欢迎随时向我提问。¹²


源: 与必应的对话, 2023/12/11

(1) 利用SQL语句查询数据库中所有表 - CSDN博客. https://blog.csdn.net/Fuyouche/article/details/8039197.

(2) SQL 如何从 SQL 查询中提取表名和列名 - 极客教程. https://geek-docs.com/sql/sql-ask-answer/173_sql_how_to_extract_table_names_and_column_names_from_sql_query.html.

(3) MS SQL查询所有表行数,获取所有数据库名,表名,字段名 - po-A - 博客园. https://bing.com/search?q=sql+%e8%8e%b7%e5%8f%96%e5%85%a8%e9%83%a8%e8%a1%a8%e5%90%8d%e5%92%8c%e7%ac%ac%e4%b8%80%e8%a1%8c.

(4) MS SQL查询所有表行数,获取所有数据库名,表名,字段名 - swtool - 博客园. https://www.cnblogs.com/swtool/p/5305963.html.

(5) sqlserver查询数据的所有表名和行数及空间占用量 - 腾讯云. https://cloud.tencent.com/developer/article/2044354.

(6) MS SQL查询所有表行数,获取所有数据库名,表名,字段名 - po-A - 博客园. https://www.cnblogs.com/watermarks/p/3740109.html.



`EXEC sp_tables`是SQL Server中的一个系统存储过程,它返回可以在当前环境中查询的对象列表²。这表示任何表或视图,但同义词对象除外²。


以下是`sp_tables`的语法²:

```sql

EXEC sp_tables [ @table_name = ] 'name'  

[ , [ @table_owner = ] 'owner' ]  

[ , [ @table_qualifier = ] 'qualifier' ]  

[ , [ @table_type = ] "type" ]  

[ , [@fUsePattern = ] 'fUsePattern'];

```

其中:

- `@table_name`:用来返回目录信息的表的名称²。

- `@table_owner`:用来返回目录信息的表的所有者²。

- `@table_qualifier`:表限定词的名称²。在SQL Server中,此列代表数据库名称²。

- `@table_type`:以逗号分隔的值列表,可以提供指定之表类型之所有表的相关信息²。其中包括TABLE、SYSTEMTABLE和VIEW²。

- `@fUsePattern`:判断字符_、% [和]是否解释为通配符²。


希望这个信息对你有所帮助!如果你有任何其他问题,欢迎随时向我提问。¹²³。


源: 与必应的对话, 2023/12/11

(1) sp_tables (Transact-SQL) - SQL Server | Microsoft Learn. https://learn.microsoft.com/zh-tw/sql/relational-databases/system-stored-procedures/sp-tables-transact-sql?view=sql-server-ver16.

(2) sp_tables_ex (Transact-SQL) - SQL Server | Microsoft Learn. https://learn.microsoft.com/zh-tw/sql/relational-databases/system-stored-procedures/sp-tables-ex-transact-sql?view=sql-server-ver16.

(3) sp_tables (Transact-SQL) - SQL Server | Microsoft Learn. https://learn.microsoft.com/zh-cn/sql/relational-databases/system-stored-procedures/sp-tables-transact-sql?view=sql-server-ver16.

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月11日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年11月24日   16   0   0 SQL运算符
  X5zJxoD00Cah   2023年11月22日   20   0   0 逆序SQL
  X5zJxoD00Cah   2023年12月11日   17   0   0 表名SQL
  DF5J4hb0hcmT   2023年12月08日   10   0   0 慢查询druidSQL
X5zJxoD00Cah