怎样用SQL语句查询一个数据库中的所有表

是的,这是一个问题。
Oracle直接使用select table_name from all_tables。

MySQL需要这样写:select table_name from Information_schema.tables,其中table_schema='csdb'和table_type='基表'。

在 SQL Server 中,这很简单:只需从 sys.tables 中选择名称即可。

亲自看看,不要忘记选择正确的数据库。

sql怎么查询数据库的所有表

哦,你说的太完整了!确实,在检查数据库表名的时候,不同的系统其实是有点不同的。

想一想,用SHOW TABLES;不是最简单的吗?这在MySQL中使用起来非常舒服。
只要输入,当前数据库的所有表名就会一目了然。
前提是必须先使用USE库名;首先切换到它,否则MySQL会告诉你它不知道哪个库。
上次我教实习生这一招,他们一步就学会了。
非常好。

但是如果你想玩更复杂的东西或者想查看特定库的表,请使用 SELECT table_name FROM information_schema.tables WHERE table_schema='library name';这不会有问题。
这个信息模式确实是各种信息的宝库。
记得有一次我在上海一家公司的服务器上调试。
库比较乱,表名都有年代感,比如2 02 2 _order_data_v2 使用information_schema查询时,还可以添加一些WHERE条件,比如只看table_type='BASE TABLE'或者table_schema是否包含某个关键字,这样过滤起来就容易多了。

如果你玩数据库,每个人都会有自己的发言权。
您提到的 SQL 服务器使用名称 SELECT FROM sys.tables;。
这个系统视图确实是核心。
我在北京做一个项目,使用的是SQL Server。
理解这些系统观点需要花费大量时间。
Oracle的all_tables和user_tables可以根据权限来区分,这也是相当不错的。
然而Oracle套件确实很难学,不可能一蹴而就。

简而言之,这取决于您使用的系统:
MySQL:显示表;最简单的是,information_schema 具有完整的功能。

SQL Server:您必须使用系统视图sys.tables。

Oracle:请参阅 all_tables 或 user_tables。

如果您刚刚开始,我建议尝试 MySQL 的 DISPLAY TABLE;首先要感到舒服。
一旦你接触了更多的系统,你就会自然地习惯它。
无论如何,这取决于你。