sqlserver获取表,sqlserver获取表字段类型

怎样获取SqlServer数据库中的表和字段信息

--获取所有表:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、雅安服务器托管、营销软件、网站建设、遵义网站维护、网站推广。

select * from sys.objects where type = 'U'

--字段信息

select SO.name as t_name, SC.colid as f_id,SC.name as f_name,SC.length as f_length,SC.prec as f_prec,SC.scale as f_scale,ST.name as f_type,SC.isnullable as f_isnull,SC.cdefault from         

sysobjects   SO, -- 对象表  

syscolumns   SC, -- 列名表  

systypes     ST  -- 数据类型表   

where SO.id = SC.id 

and SO.xtype = 'U'    -- 类型U表示表,V表示视图  

and SO.status = 0    -- status = 0 为非系统对象  

and SC.xtype = ST.xusertype

怎样用SQL语句查询一个数据库中的所有表?

1、打开Microsoft SQL Server 2012,选中需要查询所有表的数据库。

2、选中需要查询的表后,点击左上角的“新建查询”,如图。

3、点击“新建查询”后,会在右边弹出一个编辑框,我们需要在这里编写sql语句,来查询该数据库下的所有表结构。

4、编写sql语句,点击“执行”,当然,这表语句我们可以根据实际情况,来改变条件只查询需要的表名。

5、这时,会在右下方出现最终的查询结果,name即该库下所有的表名。

如何在sqlserver中获取表的所有列信息

1.查询数据库中的所有数据库名:

SELECT Name FROM Master..SysDatabases ORDER BY Name

2.查询某个数据库中所有的表名:

SELECT Name FROM SysObjects Where XType='U' ORDER BY Name

3.查询表结构信息:

SELECT (case when a.colorder=1 then d.name else null end) 表名,

a.colorder 字段序号,a.name 字段名,

(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,

(case when (SELECT count(*) FROM sysobjects

WHERE (name in (SELECT name FROM sysindexes

WHERE (id = a.id) AND (indid in

(SELECT indid FROM sysindexkeys

WHERE (id = a.id) AND (colid in

(SELECT colid FROM syscolumns WHERE (id = a.id) AND (name = a.name)))))))

AND (xtype = 'PK'))0 then '√' else '' end) 主键,b.name 类型,a.length 占用字节数,

COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,

isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,(case when a.isnullable=1 then '√'else '' end) 允许空,

isnull(e.text,'') 默认值,isnull(g.[value], ' ') AS [说明]

FROM syscolumns a

left join systypes b on a.xtype=b.xusertype

inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name'dtproperties'

left join syscomments e on a.cdefault=e.id

left join sys.extended_properties g on a.id=g.major_id AND a.colid=g.minor_id

left join sys.extended_properties f on d.id=f.class and f.minor_id=0

where b.name is not null

--WHERE d.name='要查询的表' --如果只查询指定表,加上此条件

order by a.id,a.colorder

如何获取SQLSERVER所有表的外键关系参数

---利用Sql查询指定表的所有外键约束及外键表名与列名

select a.name as 约束名,object_name(b.parent_object_id) as 外键表,d.name as 外键列,object_name(b.referenced_object_id) as 主健表,c.name as 主键列 from sys.foreign_keys A inner join sys.foreign_key_columns B on A.object_id=b.constraint_object_id inner join sys.columns C on B.parent_object_id=C.object_id and B.parent_column_id=C.column_id inner join sys.columns D on B.referenced_object_id=d.object_id and B.referenced_column_id=D.column_id where object_name(B.referenced_object_id)='指定表名'

用php获取sqlserver的表数据,读取一部分就停止读取了

大概是  odbc_exec 的兼容性问题  , 我使用 mysqli 局没有这个现象   以前用adodb  也处理过 30万以上的记录..

?php

require_once('php/json/mysqli_dbset.php');

/* $valstr="";

for ( $i=1;$i120000;$i++){

$valstr.="(0,'name".$i."'),";

}

$valstr.="(0,'name120000')";

$sql_str="insert into tttt values $valstr";

$rs=$mysqli-query($sql_str);

echo  "insert ok"; */

$sql_str="select * from tttt";

$rs=$mysqli-query($sql_str);

while($row = $rs-fetch_array(MYSQL_ASSOC)){

echo  $row['iname'].'/br';

}

?

sqlserver怎么查看表的内容

1、打开并登录sql查询分析器。

2、在查询分析器,输入并运行以下代码,查询出相应的视图表有哪些:

USE pubs (或具体的数据库名,在此笔者以pubs为例) 

select * from sysobjects where xtype='V' 。

3、根据以上所查询出来的视图表名称(name字段),在查询分析器运中,运行以下代码:

select * from titleview  (视图名)。

4、所显示的查询结果即为视图表的内容了。

5、如果,要查看视图表的定义,可以使用 sp_helptext [ @objname = ] 'name' 来进行查询;比如,查询分析器,输入并运行以下代码:sp_helptext titleview。

6、执行视图定义查询代码段后,所显示的查询结果即为视图表定义。

7、此外,还可以通过以下代码来查看视图及其注释信息的:(仍以上面视图为例来说明)

select c.text from dbo.syscomments c, dbo.sysobjects o  

where o.id = c.id and c.id = object_id(N'[dbo].[titleview]') 。


文章名称:sqlserver获取表,sqlserver获取表字段类型
本文地址:http://hbruida.cn/article/hcoies.html