在程序中通過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查出一棵樹中的所有葉子節點,或者所有的雙親節點,該怎麼處理
sql查出一棵樹中的所有葉子節點,或者所有的雙親節點如題。
------解決方案--------------------------------------------------------
SELECT LPAD( ' ', 2*level-1)||SYS_CONNECT_BY_PATH(last_name, '/ ') Path
FROM hr.employees
START WITH last_name = 'Kochhar '
CONNECT BY PRIOR employee_id = manager_id
ORDER SIBLINGS BY last_name結果為Path----------------------------------------/Kochhar/Kochhar/Baer
/Kochhar/Greenberg
/Kochhar/Greenberg/Chen
/Kochhar/Greenberg/Faviet
/Kochhar/Greenberg/Popp
/Kochhar/Greenberg/Sciarra
/Kochhar/Greenberg/Urman
/Kochhar/Higgins
/Kochhar/Higgins/Gietz
/Kochhar/Mavris
/Kochhar/Whalen
已選擇12行。
解釋:START WITH:指定root
CONNECT BY:指定父子關系
PRIOR:指定誰具有父親row的資格。此例中,表示如果row1.employee_id=row2.manager_id,則row1是row2的父親row
level: 表示等級了。
SIBLINGS:表示在相同level中排序。
SYS_CONNECT_BY_PATH( , ):x是column,c是字元。返回x的path,用c作為分界符,從root到本節點。
『叄』 求sql server2008 xml類型查詢條件怎麼寫
求sql server2008 xml類型查詢條件怎麼寫
/*
sql xml 入門:
--by jinjazz
--http://blog.csdn.net/jinjazz
1、xml: 能認識元素、屬性和值
2、xpath: 定址語言,類似windows目錄的查找(沒用過dir命令的話就去面壁)
語法格式,這些語法可以組合為條件:
"."表示自己,".."表示父親,"/"表示兒子,"//"表示後代,
"name"表示按名字查找,"@name"表示按屬性查找
"集合[條件]" 表示根據條件取集合的子集,條件可以是
數 值:數字,last(),last()-數字 等
布爾值:position()<數字,@name='條件',name='條件'
條件是布爾值的時候可以合並計算:and or
3、xquery: 基於xpath標的准查詢語言,sqlserver xquery包含如下函數
exist(xpath條件):返回布爾值表示節點是否存在
query(xpath條件):返回由符合條件的節點組成的新的xml文檔
value(xpath條件,數據類型):返回指定的標量值,xpath條件結果必須唯一
nodes(xpath條件): 返回由符合條件的節點組成的一行一列的結果表
*/
『肆』 怎樣用SQL語句查詢一個資料庫中的所有表
1、打開Microsoft SQL Server 2012,選中需要查詢所有表的資料庫。