怎么查出一个数据库里的所有表名

怎么查出一个数据库里的所有表名,第1张

select from all_tables WHERE owner='SCOTT' ;或者

SELECT FROM DBA_TABLES WHERE OWNER='SCOTT';

数据字典视图

表和列

DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。

DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每个数据库表的列的信息。

注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括表。

首先你要有一个登陆用户,根据这个用户有3个查看表信息数据字典,分别是

ALL_TABLES USER_TABLES DBA_TABLES

如果你的用户有DBA权限,那么可以

SELECT FROM DBA_TABLES那么可以查看数据库所有的表,不过最好带上WHERE条件,指定要查找的范围,要不结果很大的。

ALL_TABLES的话,SELECT FROM ALL_TABLES查找的是用户下的所有表和授权该用户访问的所有表。

USER_TABLES的话,SELECT FROM USER_TABLES查找的是用户下的所有表。

你可以用

SELECT FROM USER_TABLES

然后对查到的表名,比如EMP,用

DESC EMP

查看表结构

然后可以用

SELECT FROM EMP WHERE rownum < 10;

查看里面的10条信息,看下大概内容;

当然还有别的COL的数据字典,OBJECT数据字典等等,或者你进企业资源管理器进可视化界面可以直接看用户下的所有对象了。

在程序中通过sql语句查询来获得某个数据库的所有表名,代码如下:

SELECT

table_name

FROM

information_schematables

WHERE table_schema = 'mydatabasename'

AND table_type = 'base table'

扩展资料

1,利用systables目录视图查询所有表的名字,systables目录视图为每个表对象返回一行 示例语句如下:

select from systables

注意:systables目录视图也只有在SQL SERVER2005及以上的版本中才能使用。

2,利用存储过程sp_tables sp_tables存储过程,可返回可在当前环境中查询的对象列表。这代表可在FROM子句中出现的任何对象。 我们可以执行如下语句:

exec sp_tables

在结果集中筛选出所有TABLE_TYPE等于TABLE的记录就是表信息了。

参考资料:

百度百科 sql语句

百度百科 systables

to

chechy(chechy):你的办法确切很好,如今又有了一个新问题,表的名称是能查出来了,但在表的名称前老是带着dbo如许一个前缀,dbo是数据库中表的所有者。请问如何才能去掉履┞封个前缀?

查找所有表的语句

select table_name

from information_schematables

where table_schema='当前数据库'

mysql>  use mysql

Database changed

mysql> show tables;

+---------------------------+

| Tables_in_mysql           |

+---------------------------+

| columns_priv              |

| db                        |

| event                     |

| func                      |

| general_log               |

| help_category             |

| help_keyword              |

| help_relation             |

| help_topic                |

| innodb_index_stats        |

| innodb_table_stats        |

| ndb_binlog_index          |

| plugin                    |

| proc                      |

| procs_priv                |

| proxies_priv              |

| servers                   |

| slave_master_info         |

| slave_relay_log_info      |

| slave_worker_info         |

| slow_log                  |

| tables_priv               |

| time_zone                 |

| time_zone_leap_second     |

| time_zone_name            |

| time_zone_transition      |

| time_zone_transition_type |

| user                      |

+---------------------------+

28 rows in set (005 sec)

show tables即为显示当前数据库中所有的表。

根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。

具体步骤如下:/导致这种情况的原因主要是……

SELECT TOP 100 PERCENT ccolid AS 序号, oname AS 表名, cname AS 列名,

tname AS 类型, clength AS 长度, cisnullable AS 允许空,

CAST(m[value] AS Varchar(100)) AS 说明

FROM dbosyscolumns c INNER JOIN

dbosysobjects o ON oid = cid AND objectproperty(oid, N'IsUserTable') = 1 AND

oname <> 'dtproperties' INNER JOIN

dbosystypes t ON txusertype = cxusertype LEFT OUTER JOIN

dbosysproperties m ON mid = oid AND msmallid = ccolorder

ORDER BY oname, ccolid

什么也不用修改就可以了

以上就是关于怎么查出一个数据库里的所有表名全部的内容,包括:怎么查出一个数据库里的所有表名、如何用PL/SQL查询我的oarcle数据库里有多少个表,每个表都叫什么名、怎么用Sql语句获取一个数据库中的所有表的名字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9564691.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存