在程序中通过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的记录就是表信息了。
参考资料:
百度百科 systables
1、通过命令行查询
d
数据库
——
得到所有表的名字
d
表名
——
得到表结构
2、通过SQL语句查询
"select
from
pg_tables"
——
得到当前db中所有表的信息(这里pg_tables是系统视图)
"select
tablename
from
pg_tables
where
schemaname='public'"
——
得到所有用户自定义表的名字(这里"tablename"字段是表的名字,"schemaname"是schema的名字。用户自定义的表,如果未经特殊处理,默认都是放在名为public的schema下)
查找所有表的语句
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即为显示当前数据库中所有的表。
根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是
以上就是关于怎么用Sql语句获取一个数据库中的所有表的名字全部的内容,包括:怎么用Sql语句获取一个数据库中的所有表的名字、如何查PostgreSQL 数据库中所有的表、查询mysql数据库中所有表名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)