如何得到数据库中所有表名 表字段及字段中文描
近期在项目中遇到了客户需求个性化的挑战。客户希望能自由选择他们想要查看的列表,并要求能自定义列表名称,这给我们的工作带来了不小的挑战。为了实现这一功能,我们需要深入了解数据表中的字段、中文说明以及默认标志等信息。
面对这种需求,我们自然不能闭门造车,需要借助外部资源来查找解决方案。经过在网上查阅资料,我发现粘上去的代码往往存在一些问题,因此决定自己动手修改代码。经过一番努力,终于拼凑出了能正常运行的代码。虽然这段代码是我在网上查找资料后拼凑出来的,但已经能满足当前的需求。至于具体的条件设置,我会根据实际情况进行添加。
对于类似的需求,网上似乎也有许多类似的解决方案。我将这段代码保存下来,以备不时之需。下面是具体的代码:
```sql
SELECT
(case when a.colorder=1 then d.name else '' end) AS '表名',
a.colorder AS '字段序号',
a.name AS '字段名',
(case when COLUMNPROPERTY(a.id,a.name,'IsIdentity')=1 then '√' else '' end) AS '标识',
(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 '√'
else '' end) AS '主键',
b.name AS '类型',
a.length AS '占用字节数',
COLUMNPROPERTY(a.id,a.name,'PRECISION') AS '长度',
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) AS '小数位数',
(case when a.isnullable=1 then '√' else '' end) AS '允许空',
isnull(e.text,'') AS '默认值',
isnull(g.[value],'') AS '字段说明'
FROM
syscolumns a
LEFT JOIN
systypes b ON a.xtype=b.xusertype
INNER JOIN
sysobjects d ON a.id=d.id AND d.xtype='U' AND d.name<> 'dtproperties'
LEFT JOIN
sysments e ON a.cdefault=e.id
LEFT JOIN
sys.extended_properties g ON a.id=g.major_id AND a.colid = g.minor_id
ORDER BY
在数据库管理的宏大舞台上,ID扮演着至关重要的角色。无论是表的ID还是列的ID,它们都是数据库中的身份标识。想象一下,我们正在操作一个名为smallid的列,它承载着各种顺序的秘密。为了对表中的数据进行排序,我们有一个名为type3的表,它拥有四个字段,可能还有一些约束条件。这些都需要经过严格的测试才能确定。
对于名称统一的MS_Description value描述,我们需要对其进行精确的操作。如果要修改网络推广或网站推广转载部分的内容,我们必须开启一个特殊功能——“允许对系统目录直接进行修改”。如果不开启这个功能,我们也可以使用存储过程sp_addextendedproperty来添加、更新或删除表或字段的描述。
让我们看看具体的操作流程。创建一个表就像搭建一座新的建筑,比如:
```sql
-- 创建表
CREATE TABLE 表名 (a1 varchar(10), a2 char(2));
```
接着,为这座“建筑”添加描述信息。例如,如果我们正在为一个存储人员信息的表添加描述,可以使用以下命令:
```sql
-- 为表添加描述信息
EXECUTE sp_addextendedproperty N'MS_Description', '人员信息表', N'user', N'dbo', N'table', N'表名';
```
如果需要更新表的描述信息,可以使用类似的方法:
```sql
-- 为表更新描述信息
EXECUTE sp_updateextendedproperty 'MS_Description', '新的描述', N'user', N'dbo', N'table', '表名';
```
同样地,我们也可以为表中的字段添加、更新或删除描述信息。例如,为字段a1添加描述信息:
```sql
-- 为字段a1添加描述信息
EXECUTE sp_addextendedproperty N'MS_Description', '姓名', N'user', N'dbo', N'table', '表名', N'column', N'a1';
```
当需要删除测试表时,可以使用如下命令:
```sql
-- 删除测试表
DROP TABLE 表名;
```
所有这些操作都需要谨慎处理,因为错误的操作可能会导致数据丢失或系统崩溃。但有了这些描述信息,数据库管理员和开发者就能更好地理解和维护数据库结构,确保系统的稳定运行。提醒一句,在修改系统目录之前,务必确保备份所有重要数据以防万一。
编程语言
- 如何得到数据库中所有表名 表字段及字段中文描
- Angular中支持SCSS的方法
- PHP生成随机密码4种方法及性能对比
- 浅析JavaScript事件和方法
- Yii框架getter与setter方法功能与用法分析
- 密码强度的正则表达式两种方案JS总结篇
- JS创建对象几种不同方法详解
- ROW_NUMBER SQL Server 2005的LIMIT功能实现(ROW_NUMBER()排序
- Asp.net中安全退出时清空Session或Cookie的实例代码
- JS使用ActiveXObject实现用户提交表单时屏蔽敏感词
- Angular5升级RxJS到5.5.3报错:EmptyError- no elements in
- php无限极分类实现的两种解决方法
- 求帮忙修改个php curl模拟post请求内容后并下载文
- 提高代码可读性的十大注释技巧分享
- 如何编写一个ASP类
- 详解vue.js下引入百度地图jsApi的两种方法