在程序中通过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,选中需要查询所有表的数据库。