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