/*
-- 本文件主要是汇总了 Microsoft SQL Server 中有关数据库与表的相关信息查询语句。 -- 下面的查询语句中一般给出两种查询方法,
-- A方法访问系统表,适应于SQL 2000/2005/2008/2008 R2,但是在微软的联机帮助中特意说明这些系统表
-- 在后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能。
--
-- B方法访问系统视图,为微软推荐使用方法,对于今后新版本 SQL Server 兼容性比较好。
-- 两种方法存在细微差别,下面的网址给出了系统表与函数以及系统视图与函数之间的映射。
-- http://technet.microsoft.com/zh-cn/library/ms187997.aspx */ --1、查询数据库中有哪些表名
select name, id FROM sysobjects o where o.type = 'U' -- A
select name, [object_id] FROM sys.objects o where o.type = 'U'; -- B
--其中where条件还可按下面改:
A:type = 'K' B:type = 'PK' --主键
type = 'P' -- 存储过程
type = 'S' -- 系统表
type = 'V' -- 视图 --2、查询表的字段名称和数据类型
--旧方法
select 'TableName' as TableName
,c.name as ColumnName
,t.name as DataType
from syscolumns c
join systypes t
on c.xtype = t.xtype and c.id=object_id( N'TableName');
--新方法
select 'TableName' as TableName
, c.name as ColumnName
, t.name as DataType
from sys.COLUMNS c
join sys.types t
on c.system_type_id = t.system_type_id
and c.object_id=object_id( N'TableName');
--information_schema.columns
select column_name
,data_type --系统提供的数据类型。
,IS_NULLABLE --列的为空性。如果列允许 NULL,则该列将返回 YES。否则,返回 NO。
,COLUMN_DEFAULT --列的默认值。没有,返回 NULL。
,CHARACTER_MAXIMUM_LENGTH --二进制数据、字符数据或文本和图像数据的最大长度(字符)。对于 xml 和大值类型数据,为 -1.否则,返回 NULL。
,CHARACTER_OCTET_LENGTH --二进制数据、字符数据或文本和图像数据的最大长度(字节)。对于 xml 和大值类型数据,为 -1.否则,返回 NULL。
,NUMERIC_PRECISION --近似数字数据、精确数字数据、整数数据或货币数据的精度。否则,返回 NULL。
,NUMERIC_PRECISION_RADIX --近似数字数据、精确数字数据、整数数据或货币数据的精度基数。否则,返回 NULL。
,NUMERIC_SCALE --近似数字数据、精确数字数据、整数数据或货币数据的小数位数。否则,返回 NULL。
from information_schema.columns
where table_name = 'TableName'; --3、查询表中的主键
select b.name as tableName, a.name as PK_Name
FROM sysobjects a
join sysobjects b
on a.type = 'K' and b.type = 'U'
and a.parent_obj = b.id
and b.name = 'TableName' select b.name as tableName, a.name as PK_Name
FROM sys.objects a
join sys.objects b
on a.type = 'PK' and b.type = 'U'
and a.parent_object_id = b.object_id
and b.name = 'TableName' --4、查询表中的索引
EXEC sp_helpindex N'tableName'

最新文章

  1. mysql常用基本操作
  2. python与正则表达式
  3. java中的注解(Annotation)
  4. 从零开始系列--R语言基础学习笔记之一 环境搭建
  5. 《Node.js实战(双色)》作者之一——吴中骅访谈录
  6. 高性能javascript学习笔记系列(2)-数据存取
  7. nginx入门(安装,启动,关闭,信号量控制)
  8. Oracle常用plsql
  9. Hadoop中操作HDFS出现异常的解决方法
  10. codeforces 474D.Flowers 解题报告
  11. JSP页面时间动态显示 (转载)
  12. [RxJS] Transformation operator: repeat
  13. openstack私有云布署实践【9.1 Glance镜像管理(科兴环境)】
  14. C#中的重写和覆盖的区别
  15. HTML DOCTYPE文档类型举例说明
  16. HackerRank The Chosen One [预处理][gcd]
  17. 201521123028 《Java程序设计》第11周学习总结
  18. Vue.js-03:第三章 - 事件修饰符的使用
  19. top 分析
  20. react框架的状态管理

热门文章

  1. Qt - 错误总结 - QObject::connect: Cannot queue arguments of type 'PVCI_CAN_OBJ' (Make sure 'PVCI_CAN_OBJ' is registered using qRegisterMetaType().)
  2. SharePoint 2013 定制搜索显示模板(二)
  3. java subList方法小记
  4. android 调用地图
  5. input上传按钮 文字修改办法
  6. 全景视频外包团队:技术分享Unity3D全景漫游
  7. js键盘事件全面控制详解【转】
  8. 获取php的配置
  9. OkHttp使用进阶(译自OkHttp官方教程)
  10. iPhone 如何设置彩信 ?
  11. (二)HTML5 - Web SQL 本地数据库
  12. 筛法求质——poj2262&2909
  13. COCOA® PROGRAMMING FOR MAC® OS X (1)- Get Start
  14. sas2ircu工具信息收集及磁盘定位
  15. python web开发-flask连接sqlite数据库
  16. linux定时清理日志
  17. iOS开发之资料收集
  18. Linux几种服务用处介绍
  19. JavaScript判断是否全为中文,是否含有中文
  20. C图形库 Mingw g++ ege Windows下