sql语句查询数据库中的表名/列名/主键/自动增长值
----查询数据库中用户创建的表
----jsj01 为数据库名
select name tablename from jsj01..sysobjects where type='U' and name not in ('dtproperties')
--查询表里的字段信息
---docs为表名
---- select * from syscolumns where id = object_id('docs')
----查询数据库中所有类型
----select name,xtype from systypes
----两表联查,显示表中所有字段和对应的数据类型
----syscolumns里字段‘xtype' 对应 systypes里的 ‘xusertype' ,systypes 里的‘name'字段就是字段的数据类型
----docs 为表名
select a.name as fieldname,b.name as type from
syscolumns as a
join systypes as b
on a.xtype = b.xusertype
where id=object_id('docs')
----docs为数据表名 : 查询表字段、类型、说明
select a.name fieldname,b.name type,c.value comment from
syscolumns as a
full join systypes as b
on a.xtype = b.xusertype
full join ::fn_listextendedproperty(NULL, 'user', 'dbo', 'table', 'docs', 'column', default) as c ----这是2000版本,2005把user改为schema
on a.name=c.objname COLLATE Chinese_PRC_CI_AS -----排序规则(有时不加也可以,如果两表的排序规则不同,则会报错)
--join sysproperties c
--on a.id=c.major_id
where id=object_id('docs')
----查询表里的主键,没有主键为空,如果是多个组合主键就有多个值 pk为主键 fk为外键
--- jsj01 为数据库名 docs为表名 fk表示外键
select column_name as primarykey,* from
[jsj01].INFORMATION_SCHEMA.KEY_COLUMN_USAGE
where Table_name='docs' and constraint_name like 'fk_%'
--select * from sysobjects WHERE OBJECT_NAME(sysobjects.parent_obj)='docs' --and xtype='pk'
--select * from sysconstraints where id = object_id('docs')
--select * from syscolumns where id = object_id('docs')
--select * from sysindexes
--select * from sysindexkeys
----查询表中自动增长的字段,没有为空,如果有就只有一个
----docs为表名
SELECT a.name column_name,b.name data_type
FROM syscolumns a,systypes b
WHERE a.id=object_id('docs') and a.xtype = b.xusertype
AND a.autoval is not null
作者 pukuimin1226
sql语句查询数据库中的表名/列名/主键/自动增长值实例
2019-12-17 14:59pukuimin1226 Sql Server
sql语句查询数据库中的表名/列名/主键/自动增长值实例,需要的朋友可以参考下
延伸 · 阅读
- 2022-03-08pandas如何删除没有列名的列浅析
- 2022-01-25C#实现连接SQL Server2012数据库并执行SQL语句的方法
- 2022-01-24图文详解Mysql中如何查看Sql语句的执行时间
- 2022-01-17MyBatis insert语句返回主键和selectKey标签方式
- 2022-01-07R语言-如何定义数据框的列名
- 2022-01-04学习 MySQL 的 28 个小技巧
- Sql Server
SQLSERVER数据备份文件的分割备份方法
这篇文章主要介绍了SQLSERVER数据备份文件的分割备份方法 ,需要的朋友可以参考下 ...
- Sql Server
sql server中查找特定类别的列的写法
要对特定类别的列进行一些操作,写了以下的一段代码,比较方便检查数据库内同一类别的所有列,示例用来查所有nvarchar的列 ...
- Sql Server
sql查询点滴记录
做.NET有一段时间了,如果说不会sql,那肯定是假的,但是真的掌握吗 ...
- Sql Server
在SQLServer 2005中编写存储过程
在SQL Server 2000中,实际上只有一种创建存储过程的方法:即T-SQL语句。之前的每个SQL Server版本都采用这个程序。...
- Sql Server
使用 TOP 子句限制UPDATE 语句更新的数据
这篇文章主要介绍了使用 TOP 子句限制UPDATE 语句更新的数据,需要的朋友可以参考下 ...
- Sql Server
sqlserver 索引的一些总结
如果说要对数据库进行优化,我们主要可以通过以下五种方法,对数据库系统进行优化 ...
- Sql Server
SQLserver 实现分组统计查询(按月、小时分组)
首先创建数据表IP地址,访问时间和访问次数。如果每访问一次就插入一条记录,那么AccessCount可以不要,查询时使用count就可以了,这样当访问量很大的时...
- Sql Server
SQL Server 2000“设备激活错误”的解决方法
数据库恢复时出现诸如“设备激活错误,请使用with move选项来标志该文件的有效位置”报错的解决方法 ...