① sql怎么添加说明
SQL
Server数据库:
这里以表t_user为例,添加说明的语句如下:
1)为表添加说明
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N't_user'
GO2)为字段code添加说明
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N't_user', @level2type=N'COLUMN',@level2name=N'code'
GO以上。
② 微软的sql2005中如何用SQL语句查询出将一个表的字段的说明
查询列信息的
--isnull函数:需要个参数,如果第一个参数为空,则赋值第二个参数。
SELECT
--空格代表as关键字
(case when a.colorder=1 then d.name else '' 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 'true' else 'false' 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 'true'else 'false' end) 允许空,
isnull(e.text,'') 默认值, isnull(g.[value],'') AS 字段说明
--a代表列集合表:为每个表和视图中的每列返回一行,并为数据库中的存储过程的每个参数返回一行
--b代表列类型表:为数据库中定义的每种系统提供的数据类型和每种用户定义的数据类型返回一行。
FROM syscolumns a left join systypes b
on a.xtype=b.xusertype
--d代表对象表:在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行
inner join sysobjects d
on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
--e代表e.text是默认值:包含数据库中每个视图、规则、默认值、触发器、CHECK 约束、DEFAULT 约束和存储过程的项
left join syscomments e
on a.cdefault=e.id
--g代表g.[value]是字段说明:针对当前数据库中的每个扩展属性返回一行。
left join sys.extended_properties g
on a.id=g.major_id AND a.colid = g.major_id
order by a.id,a.colorder
③ SQL 如何给字段名加注释
用as,就是取别名,比如select name as 名字 from table 这里NAME就是中文了
④ SQL,怎样获取表描述说明,以及字段说明描述,
SELECT
[Table Name] = i_s.TABLE_NAME,
[Column Name] = i_s.COLUMN_NAME,
[Description] = s.value
FROM
INFORMATION_SCHEMA.COLUMNS i_s
LEFT OUTER JOIN
sysproperties s
ON
s.id = OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME)
AND s.smallid = i_s.ORDINAL_POSITION
AND s.name = 'MS_Description'
WHERE
OBJECTPROPERTY(OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME), 'IsMsShipped')=0
-- AND i_s.TABLE_NAME = 'table_name'
ORDER BY
i_s.TABLE_NAME, i_s.ORDINAL_POSITION
⑤ sql server 怎么查询数据字段说明
SQL Server的注释属于扩展属性,可以从sys.extended_properties视图中查看
SELECT * FROM sys.extended_properties WHERE major_id=OBJECT_ID('WMSBASCUS')
结果是WMSBASCUS表所有列的注释信息
minor_id是列的Id,可以从sys.columns中查看表的列id
通过sys.extended_properties和sys.columns进行关联可以查看某个具体列的信息
SELECT c.name,p.value
FROM sys.extended_properties p ,sys.columns c
WHERE p.major_id=OBJECT_ID('WMSBASCUS') and c.name='CUSTNO'
and p.major_id=c.object_id and p.minor_id=c.column_id
⑥ SQL查询字段的说明
查出表的各个字段的所有属性
SELECT
表名 = case when a.colorder=1 then d.name else '' end,
表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end,
字段序号 = a.colorder,
字段名 = a.name,
标识 = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
主键 = case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) then '√' else '' end,
类型 = b.name,
占用字节数 = a.length,
长度 = COLUMNPROPERTY(a.id,a.name,'PRECISION'),
小数位数 = isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
允许空 = case when a.isnullable=1 then '√'else '' end,
默认值 = isnull(e.text,''),
字段说明 = isnull(g.[value],'')
FROM
syscolumns a
left join
systypes b
on
a.xusertype=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
sysproperties g
on
a.id=g.id and a.colid=g.smallid
left join
sysproperties f
on
d.id=f.id and f.smallid=0
where
d.name='要查询的表' --如果只查询指定表,加上此条件
order by
a.id,a.colorder
⑦ SQL加字段说明时,怎样使说明换行显示
可以添加一列计算列,不用录入数据,会根据其他字段值计算出结果
或者在查询时自己结算添加一列临时列,假设AB列为数值列,C列不存在
select A,B,A*B/2.0 as C from tb
⑧ sql server如何给表和字段添加备注并更新备注以及查询备注呢
表添加和修改备注:
新增:exec sp_addextendedproperty N'MS_Description', N'表备注内容', N'SCHEMA', N'dbo',N'table', N'表名';
修改:exec sp_updateextendedproperty N'MS_Description', N'表备注内容', N'SCHEMA', N'dbo',N'table', N'表名';
字段添加和修改备注:
新增:exec sp_addextendedproperty N'MS_Description', N'字段备注内容', N'SCHEMA', N'dbo',N'table', N'表名',N'column', N'字段名';
修改:exec sp_updateextendedproperty N'MS_Description', N'字段备注内容', N'SCHEMA', N'dbo',N'table', N'表名',N'column', N'字段名';
⑨ SQL如何插入字段说明
Oracle
通过 COMMENT ON TABLE / COMMENT ON COLUMN 追加表/字段的备注。
CREATE TABLE "MR_DEPT" (
"DEPT_ID" NUMBER NOT NULL ,
"PARENT_ID" NUMBER,
"DEPT_NAME" CHAR(20) NOT NULL ,
"STATUS" NUMBER DEFAULT 1 NOT NULL ,
PRIMARY KEY ("DEPT_ID")
)
/
COMMENT ON TABLE "MR_DEPT" IS '部门表'
/
COMMENT ON COLUMN "MR_DEPT"."DEPT_ID" IS '部门编号'
/
COMMENT ON COLUMN "MR_DEPT"."PARENT_ID" IS '上级部门编号'
/
COMMENT ON COLUMN "MR_DEPT"."DEPT_NAME" IS '部门名'
/
COMMENT ON COLUMN "MR_DEPT"."STATUS" IS '状态'
/
SQL Server 通过存储过程追加
CREATE TABLE test_table(
Test_ID int IDENTITY(1,1) PRIMARY KEY NOT NULL ,
Test_Key varchar(10) NOT NULL ,
Test_Value varchar(20) NOT NULL
);
go
EXECUTE sp_addextendedproperty N'MS_Description', '测试表', N'user', N'dbo', N'Table', N'test_table', NULL, NULL;
go
EXECUTE sp_addextendedproperty N'MS_Description', '主键(自增长)', N'user', N'dbo', N'Table', N'test_table', N'column' , N'Test_ID';
go
EXECUTE sp_addextendedproperty N'MS_Description', '种类', N'user', N'dbo', N'Table', N'test_table', N'column' , N'Test_Key';
go
EXECUTE sp_addextendedproperty N'MS_Description', '数值', N'user', N'dbo', N'Table', N'test_table', N'column' , N'Test_Value';
go
MySQL 包含在建表语句中。
CREATE TABLE test_table(
Test_ID int NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键(自增长)' ,
Test_Key varchar(10) NOT NULL COMMENT '种类' ,
Test_Value varchar(20) NOT NULL COMMENT '数值'
)
COMMENT = '测试表'