SQL Server 下读取 表/字段 的说明备注信息
来源:互联网 发布:淘宝9块9包邮怎么赚钱 编辑:程序博客网 时间:2024/04/30 04:04
/// <summary> /// 得到数据全部表名 /// </summary> /// <returns></returns> public static List<string> GetAllTableName() { List<string> list = new List<string>(); string sql = "select name from sys.tables order by name"; Database db = DatabaseFactory.CreateDatabase(); using(IDataReader dataReader=db.ExecuteReader(CommandType.Text,sql)) { while(dataReader.Read()) { string tableName = dataReader["name"].ToString(); tableName = tableName.Substring(0, 1).ToUpper() + tableName.Substring(1).ToLower(); list.Add(tableName); } } return list; }
/// <summary> /// 得到表结构 /// </summary> /// <param name="tableName"></param> /// <returns></returns> public static DataTable GetDataTable(string tableName) { string sql = string.Format("select top 1 * from {0} ", tableName); DataSet ds = new DataSet(); DataAdapter dataadapter = new SqlDataAdapter(sql,GetConnectionString()); dataadapter.MissingSchemaAction = MissingSchemaAction.AddWithKey; dataadapter.Fill(ds); return ds.Tables[0]; }
/// <summary> /// 得到表字段的“说明”文本 /// </summary> /// <param name="tableName"></param> /// <returns></returns> public static List<KeyValuePair<string, string>> GetDescriptionList(string tableName) { List<KeyValuePair<string, string>> list = new List<KeyValuePair<string, string>>(); string sql =string.Format("SELECT a.name AS ColumnName, isnull(g.[value],'') AS Description FROM sys.columns a left join sys.extended_properties g on (a.object_id = g.major_id AND g.minor_id = a.column_id) WHERE object_id =(SELECT object_id FROM sys.tables WHERE name = '{0}') and g.[value] is not null",tableName); Database db = DatabaseFactory.CreateDatabase(); DbCommand cmd = db.GetSqlStringCommand(sql); using(IDataReader datareader=db.ExecuteReader(cmd)) { while(datareader.Read()) { list.Add(new KeyValuePair<string, string>(datareader["ColumnName"].ToString(), datareader["Description"].ToString().Trim())); } } return list; }
以下是参考资料:
结果代码是: 建表后,设置表/字段的注释信息。
下面是 读取表/字段 的说明备注 的 SQL 语句。
获取数据库表清单:
select top 1000
ROW_NUMBER() OVER (ORDER BY a.object_id) AS No,
a.name AS 表名,
isnull(g.[value],'-') AS 说明
from
sys.tables a left join sys.extended_properties g
on (a.object_id = g.major_id AND g.minor_id = 0)
No 表名 说明
1 test_table 测试表
2 test_main -
获取数据库表的字段清单 [这里是查看 test_table 表的字段]
SELECT
a.column_id AS No,
a.name AS 列名,
isnull(g.[value],'-') AS 说明
FROM
sys.columns a left join sys.extended_properties g
on (a.object_id = g.major_id AND g.minor_id = a.column_id)
WHERE
object_id =
(SELECT object_id FROM sys.tables WHERE name = 'test_table')
No 列名 说明
1 Test_ID 主键(自增长)
2 Test_Key 种类
3 Test_Value 数值
4 Test_Type 内部类型
5 Test_BelongTo 从属关系
6 Test_Grade 等级
7 Test_Remark 备注
8 Test_Visible 是否可见
-----
更加详细一点的信息
SELECT
col.name AS 列名,
typ.name as 数据类型,
col.max_length AS 占用字节数,
col.precision AS 数字长度,
col.scale AS 小数位数,
col.is_nullable AS 是否允许非空,
col.is_identity AS 是否自增,
case when exists
( SELECT 1
FROM
sys.indexes idx
join sys.index_columns idxCol
on (idx.object_id = idxCol.object_id)
WHERE
idx.object_id = col.object_id
AND idxCol.index_column_id = col.column_id
AND idx.is_primary_key = 1
) THEN 1 ELSE 0 END AS 是否是主键
FROM
sys.columns col left join sys.types typ on (col.system_type_id = typ.system_type_id)
WHERE
col.object_id =
(SELECT object_id FROM sys.tables WHERE name = 'test_table')
SQL Server 2005 的 Microsoft SQL Server Management Studio Express
没有 带列名一起复制。 凑合着看看吧,就不手动写列名了。
Test_ID int 4 10 0 0 1 1 主键(自增长)
Test_Key varchar 10 0 0 0 0 0 种类
Test_Value varchar 20 0 0 0 0 0 数值
Test_Type int 4 10 0 0 0 0 内部类型
Test_BelongTo int 4 10 0 1 0 0 从属关系
Test_Grade int 4 10 0 1 0 0 等级
Test_Remark varchar 50 0 0 1 0 0 备注
Test_Visible bit 1 1 0 1 0 0 是否可见
- SQL Server 下读取 表/字段 的说明备注信息
- SQL Server 下读取 表/字段 的说明备注信息
- 导出SQL Server数据库表中字段的说明/备注
- Oracle 下读取表/字段的备注信息
- sql server 查看字段备注等信息
- MySQL字段的说明和备注信息
- MySQL 字段的说明和备注信息
- sql 查看数据库表中字段备注信息
- 读取sql server表的字段名,字段类型,字段长度,字段属性的sql语句
- 读取sql server表的字段名,字段类型,字段长度,字段属性的sql语句
- SQL SERVER怎样建立备注型字段?
- 获取mysql表中字段备注信息以及选中数据库中表的备注信息
- 取得SQL Server 2005各表、字段的说明等信息的SQL语句
- 查询SQL SERVER表的字段信息的SQL
- 教你如何在 sql server 2005 使用 sql 语句获取字段的说明信息
- sql server 查询表信息,字段,数据类型的sql语句
- SQL SERVER的字段类型说明
- SQL SERVER的字段类型说明
- jquery event.target 事件委托
- 使用USRP e300系列网络模式的一般流程
- hadoop 源码编译2.7.4
- hdu1404 Digital Deletions (状压+dfs)
- 简易付橙色酷炫安装版V20171203更新包下载 | 银盒子简易付
- SQL Server 下读取 表/字段 的说明备注信息
- 注释转换(C->C++)
- 共轴三反系统Zemax优化过程中常用操作数
- linux中查看nginx、apache、php、mysql配置文件路径的方法
- CentOS7 安装mongodb
- 【安全牛学习笔记】Burpsuite
- UnityDecal——贴花方法总结
- 程序员的一点经验
- 前端面试知识必备