在程序中通過sql語句查詢來獲得某個資料庫的所有表名,代碼如下:
SELECT
table_name
FROM
information_schema.tables
WHERE table_schema = 'mydatabasename'
AND table_type = 'base table'
(1)sql查詢資料庫名稱擴展閱讀
1,利用sys.tables目錄視圖查詢所有表的名字,sys.tables目錄視圖為每個表對象返回一行. 示例語句如下:
select * from sys.tables
注意:sys.tables目錄視圖也只有在SQL SERVER2005及以上的版本中才能使用。
2,利用存儲過程sp_tables sp_tables存儲過程,可返回可在當前環境中查詢的對象列表。這代表可在FROM子句中出現的任何對象。 我們可以執行如下語句:
exec sp_tables
在結果集中篩選出所有TABLE_TYPE等於TABLE的記錄就是表信息了。
Ⅱ SQL怎麼查詢當前應用的資料庫名
在SSMS里,
沒有這個工具條嗎?
那個文本框就是你當前應用的資料庫,
要是沒有這個工具條的話,
就執行菜單[窗口]
--
[重置窗口布局].
對於在
t-sql
里,獲取當前應用的資料庫名???,
這個真心是沒用過,
每一條語句都有它執行所在的資料庫.
use
資料庫名,
可以指定當前資料庫
Ⅲ 怎麼查看資料庫名稱
方法/步驟
該操作方法以sql server 2008 為例。
Ⅳ 如何獲取SQL中所有資料庫的名稱
Select name from master..sysdatabases
where name not in('master','model','msdb','tempdb','northwind','pubs')
Ⅳ mysql中查詢資料庫中表名稱和結構的sql語句是什麼啊啊
TABLE 語句
具體語法:TABLE table_name [ORDER BY column_name] [LIMIT number [OFFSET number]]
其實從語法上看,可以排序,也可以過濾記錄集,不過比較簡單,沒有 SELECT 那麼強大。
示例 1
簡單的建一張很小的表 y1,記錄數為 10 條。表 t1,插入 10 條記錄
mysql-(ytt/3305)->create table t1 (r1 int,r2 int);
Query OK, 0 rows affected (0.02 sec)
mysql-(ytt/3305)->insert into t1
with recursive aa(a,b) as (
select 1,1
union all
select a+1,ceil(rand()*20) from aa where a < 10
) select * from aa;
Query OK, 10 rows affected (0.00 sec)
Records: 10 Duplicates: 0 Warnings: 0
- 簡單全表掃描mysql-(ytt/3305)->select * from t1;+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)
- TABLE 結果mysql-(ytt/3305)->table t1;+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)
- 看下 table 的執行計劃mysql-(ytt/3305)->explain table t1 order by r1 limit 2G*************************** 1. row *************************** id: 1 select_type: SIMPLE table: t1 partitions: NULL type: ALLpossible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 10 filtered: 100.00 Extra: Using filesort1 row in set, 1 warning (0.00 sec)
- 其實可以看到 TABLE 內部被 MySQL 轉換為 SELECT 了。mysql-(ytt/3305)->show warningsG*************************** 1. row *************************** Level: Note Code: 1003Message: /* select#1 */ select `ytt`.`t1`.`r1` AS `r1`,`ytt`.`t1`.`r2` AS `r2` from `ytt`.`t1` order by `ytt`.`t1`.`r1` limit 21 row in set (0.00 sec)
- 那其實從上面簡單的例子可以看到 TABLE 在內部被轉成了普通的 SELECT 來處理。示例 2應用於子查詢里的子表。這里要注意,內表的欄位數量必須和外表過濾的欄位數量一致。克隆表 t1 結構mysql-(ytt/3305)->create table t2 like t1;Query OK, 0 rows affected (0.02 sec)
- 克隆表 t1 數據mysql-(ytt/3305)->insert into t2 table t1;Query OK, 10 rows affected (0.00 sec)Records: 10 Duplicates: 0 Warnings: 0
- table t1 被當做內表,表 t1 有兩個欄位,必須同時滿足 t2 檢索時過濾的欄位也是兩個。mysql-(ytt/3305)->select * from t2 where (r1,r2) in (table t1);+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)
- 注意:這里如果過濾的欄位數量和子表數量不一致,則會報錯。
Ⅵ oracle中如何用sql語句顯示當前的資料庫名稱
查詢數據表(Tables)名稱:
select Table_Name, Tablespace_Name
from Dba_Tables
where Tablespace_Name = 'USERS';
查詢數據表(Tables)中的欄位(Columns)名稱:
sql1:select column_name from all_tab_columns where table_name='table1';
sql2:select column_name from user_tab_columns where table_name='table1';
查詢當前資料庫實例名
方法一:select instance_name from v$instance;
方法二:show parameter insta
Ⅶ 在mysql中怎麼樣查看所在的資料庫名
可以使用這兩種方式查看資料庫名:
1、用select database()語句;
2、用status語句,查詢出來的結果中有一行是currrent database:***。這里***就
是當前所在的資料庫名稱。
1、打開mysql控制台,並輸入密碼;
Ⅷ 根據sql怎麼查看資料庫名字么
select SegmentId,SegmentId,ProjectType........from a,b,c,d where) t
group by SegmentId,SegmentId,ProjectType
with rollup
意思是將要統計的欄位合成一個為子表,然後對這個字表進行group by!
Ⅸ SQL怎麼查詢當前應用的資料庫名
查看一個SQL資料庫的用戶名步驟: 1、找到並打開Microsoft SQL server management studio 2、使用windows帳戶或SQL帳戶連接資料庫 3、依次展開資料庫——secunity——logins,即可看到SQL的所有用戶。
Ⅹ 如何查詢SQL伺服器中的所有資料庫名及資料庫中表名
沒有系統許可權肯定是查不了所有表的,除非用有系統許可權的用戶給當前用戶授權。
sql
server,oracle之類的資料庫許可權控制很嚴格、也比較靈活。