今天突然遇到有人要数据库表及表字段说明,数据库表太多又不能一个个表去找,就想想SQL是否能直接查询出来. 经过查询资料,加上一些自己的一些调整写了一个sql语句,在此记录一下,以方便日后查找使用. SELECT ( CASE WHEN a.colorder = 1 THEN d.name ELSE '' END ) N'表名' , ( CASE WHEN a.colorder = 1 THEN ISNULL(h.value, '') ELSE '' END ) N'表说明' , a.colord
select b.name,a.name,c.name,a.xprec,a.xscalefrom syscolumns aleft outer join sysobjects b ON a.id=b.id left outer join systypes c ON c.xusertype=a.xusertype where b.xtype='U' AND b.name LIKE '%CRM_PS%' AND (select systypes.name+'('+cast(a.length/2
一 查询数据(关键字:select) (1)简单查询 select * from 表名 ——查全表 select 列名 from 表名 select 列名 as 别名 from 表名 —— as 起别名 (2)条件查询 (where or and) select * from 表名 where 条件1 ——查行 select * from 表名 where 条件1 or /and
SELECT * FROM ( select a.name TABLENAME,b.name FIELDNAME,c.name FIELDTYPE,c.length FIELDLENGTH from sysobjects a,syscolumns b,systypes c where a.id=b.id and a.name='SYS_EXCEL' and a.xtype='U' and b.xtype=c.xtype) TAB WHERE FIELDNAME='ImportFIELDNAME'
列名 数据类型 说明 name sysname 对象名. object_id int 对象标识号. 在数据库中是唯一的. principal_id int 如果不是架构所有者,则为单个所有者的 ID. 默认情况下,架构包含的对象由架构所有者拥有. 不过,通过使用 ALTER AUTHORIZATION 语句更改所有权可以指定备用所有者. 如果没有备用的单个所有者,则为 NULL. 如果对象类型为下列类型之一,则为 NULL: C = CHECK 约束 D = DEFAULT(约束或独立) F =
select b.[value] from sys.columns a left join sys.extended_properties b on a.object_id=b.major_id and a.column_id=b.minor_id inner join sysobjects c on a.column_id=c.id and a.[name]='列名' and c.[name]='表名' SELECT 表名=case
先前表中ID字段类型是用序列,由于安全问题,需要处理水平权限的漏洞,虽然使用加密也可以处理,为了更方便,需要将字段类型改为Guid,如果表中已经有数据,更改起来不是很方便,对于基础数据表,这里提供一个方法: --创建临时表 CREATE TABLE BASEMODULE_TMP AS SELECT * FROM BASEMODULE; --清空原表数据 DELETE FROM BASEMODULE; --修改原始表ID,PARENTID类型 ); ); --将临时表数据恢复回来 INSERT I