利用SQL語句查詢資料庫中所有表

2021-09-07 07:40:24 字數 766 閱讀 5766

oracle:

select * from all_tables;系統裡有許可權的表

select * from dba_tables; 系統表

select * from user_tables; 當前使用者下的表

sql server

1,利用sysobjects系統表 在這個表中,在資料庫中建立的每個物件(例如約束、預設值、日誌、規則以及儲存過程)都有對應一行,我們在該表中篩選出xtype等於u的所有記錄,就為資料庫中的表了。 示例語句如下::

select * from sysobjects where xtype='u'

注意:在sql server2005中,出現了sys.objects目錄檢視來代替sysobjects系統表,我們在sql server2005及以後的版本中,可以使用sysobjects系統表與sys.objects目錄檢視的任意物件來查詢所有表。

2,利用sys.tables目錄檢視 sys.tables目錄檢視,為每個表物件返回一行. 示例語句如下:

select * from sys.tables

注意:sys.tables目錄檢視也只有在sql server2005及以上的版本中才能使用。

3,利用儲存過程sp_tables sp_tables儲存過程,可返回可在當前環境中查詢的物件列表。這代表可在from子句中出現的任何物件。 我們可以執行如下語句:

exec sp_tables

在結果集中篩選出所有table_type等於table的記錄就是表資訊了。

利用SQL語句重置資料庫中所有表的標識列 自增量

可以應用於2種場景 1.清空所有表中的資料,資料清空後,最好是能夠讓表中的標識列從1開始記數,所以要重置標識列的當前值。2.用複製的方式,發布訂閱同步資料之後,訂閱端的資料不會自動增長,比如自增id該9527了,但如果中間有跳過的id,會自動填充缺失的路過的id,該執行如下 即可從應該的9527開始...

查詢資料庫中所有列名

如何從整個資料庫所有表中查詢出乙個列名?比如想要查詢乙個名為 name 的列名,但是忘記了這一列是在那乙個表中,需要從整個資料庫的所有表中進行查詢。oracle 資料庫 select from user col comments s where s.column name like name mys...

SQL語句 查詢資料庫中所有非系統表的資訊

select case when a.colorder 1 then d.name else end 表名,a.colorder 字段序號,a.name 欄位名,case when columnproperty a.id,a.name,isidentity 1 then else end 標識,ca...