① 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 = '測試表'