SQL server表字段消息认证分分快三计划

作者:编程技术

 

sql 2oo5:

 

在做个小项目,需要导出表的字段信息,下面是针对,ms sql导出表字段信息的sql语句:
sql 2000:

    sql = "SELECT * FROM information_schema.columns WHERE TABLE_NAME='" 表名(变量) "' AND TABLE_SCHEMA='" 数据库名(变量) "'";      //获取数据库下表的所有字段集合、注释及字段类型

分分快三计划 1分分快三计划 2Code
 1分分快三计划 3SELECT 
 2分分快三计划 4
 3分分快三计划 5      (case when a.colorder=1 then d.name else '' end)表名,
 4分分快三计划 6
 5分分快三计划 7      a.colorder 字段序号,
 6分分快三计划 8
 7分分快三计划 9      a.name 字段名,
 8分分快三计划 10
 9分分快三计划 11      (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,
10分分快三计划 12
11分分快三计划 13      (case when (SELECT count(*)
12分分快三计划 14
13分分快三计划 15      FROM sysobjects
14分分快三计划 16
15分分快三计划 17      WHERE (name in
16分分快三计划 18
17分分快三计划 19                (SELECT name
18分分快三计划 20
19分分快三计划 21               FROM sysindexes
20分分快三计划 22
21分分快三计划 23               WHERE (id = a.id) AND (indid in
22分分快三计划 24
23分分快三计划 25                         (SELECT indid
24分分快三计划 26
25分分快三计划 27                        FROM sysindexkeys
26分分快三计划 28
27分分快三计划 29                        WHERE (id = a.id) AND (colid in
28分分快三计划 30
29分分快三计划 31                                  (SELECT colid
30分分快三计划 32
31分分快三计划 33                                 FROM syscolumns
32分分快三计划 34
33分分快三计划 35                                 WHERE (id = a.id) AND (name = a.name))))))) AND
34分分快三计划 36
35分分快三计划 37             (xtype = 'PK'))>0 then '√' else '' end) 主键,
36分分快三计划 38
37分分快三计划 39      b.name 类型,
38分分快三计划 40
39分分快三计划 41      a.length 占用字节数,
40分分快三计划 42
41分分快三计划 43      COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,
42分分快三计划 44
43分分快三计划 45      isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,
44分分快三计划 46
45分分快三计划 47      (case when a.isnullable=1 then '√'else '' end) 允许空,
46分分快三计划 48
47分分快三计划 49      isnull(e.text,'') 默认值,
48分分快三计划 50
49分分快三计划 51      isnull(g.[value],'') AS 字段说明    
50分分快三计划 52
51分分快三计划 53
52分分快三计划 54FROM  syscolumns  a left join systypes b 
53分分快三计划 55
54分分快三计划 56on  a.xtype=b.xusertype
55分分快三计划 57
56分分快三计划 58inner join sysobjects d 
57分分快三计划 59
58分分快三计划 60on a.id=d.id  and  d.xtype='U' and  d.name<>'dtproperties'
59分分快三计划 61
60分分快三计划 62left join syscomments e
61分分快三计划 63
62分分快三计划 64on a.cdefault=e.id
63分分快三计划 65
64分分快三计划 66left join sysproperties g
65分分快三计划 67
66分分快三计划 68on a.id=g.id AND a.colid = g.smallid  
67分分快三计划 69
68分分快三计划 70order by a.id,a.colorder
69分分快三计划 71
70分分快三计划 72
71分分快三计划 73
72分分快三计划 74

连接字符串:

copy结果到excel或word,就ok了。相当于数据字典了。
参考:
    

    sql = "SELECT * FROM sysobjects WHERE type='U'";    //获取数据库对应的表。这里要注意下,因为获取表要连接到具体的数据库,所以这个只是作为一个变量传递 ,传到执行函数中ExecuteQuery_SQLserver(sql, address, dbname, user, pwd);就可以了

分分快三计划 75分分快三计划 76Code
 1分分快三计划 77SELECT
 2分分快三计划 78        (case when a.colorder=1 then d.name else '' end) 表名,
 3分分快三计划 79        a.colorder 字段序号,
 4分分快三计划 80       a.name 字段名,
 5分分快三计划 81       (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,
 6分分快三计划 82        (case when (SELECT count(*)
 7分分快三计划 83       FROM sysobjects
 8分分快三计划 84        WHERE (name in
 9分分快三计划 85                  (SELECT name
10分分快三计划 86                FROM sysindexes
11分分快三计划 87                WHERE (id = a.id) AND (indid in
12分分快三计划 88                          (SELECT indid
13分分快三计划 89                         FROM sysindexkeys
14分分快三计划 90                         WHERE (id = a.id) AND (colid in
15分分快三计划 91                                   (SELECT colid
16分分快三计划 92                                  FROM syscolumns
17分分快三计划 93                                  WHERE (id = a.id) AND (name = a.name))))))) AND
18分分快三计划 94              (xtype = 'PK'))>0 then '√' else '' end) 主键,
19分分快三计划 95       b.name 类型,
20分分快三计划 96       a.length 占用字节数,
21分分快三计划 97       COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,
22分分快三计划 98       isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,
23分分快三计划 99       (case when a.isnullable=1 then '√'else '' end) 允许空,
24分分快三计划 100       isnull(e.text,'') 默认值,
25分分快三计划 101       g.[value] AS 字段说明
26分分快三计划 102
27分分快三计划 103FROM syscolumns a left join systypes b
28分分快三计划 104on a.xtype=b.xusertype
29分分快三计划 105inner join sysobjects d
30分分快三计划 106on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
31分分快三计划 107left join syscomments e
32分分快三计划 108on a.cdefault=e.id
33分分快三计划 109left join sys.extended_properties g
34分分快三计划 110on a.id=g.major_id AND a.colid = g.minor_id
35分分快三计划 111--WHERE d.[name]='AgentMessage' --你要查看的表名,注释掉,查看当前数据库所有表的字段信息
36分分快三计划 112order by a.id,a.colorder
37分分快三计划 113 
38分分快三计划 114

    sql = "SELECT * FROM sys.databases where database_id >4";    //这大于4为了排除系统数据库,我这为了仅获取自己创建的数据库

sql server:

 

 

    sql = "inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties' ";
    sql = "left join syscomments e on a.cdefault=e.id ";
    sql = "left join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id ";
    sql = "left join sys.extended_properties f on d.id=f.major_id and f.minor_id=0 where d.name='" 表名称(变量) "'";

    sql = "select a.name,b.name as typename,g.value from syscolumns a left join systypes b on a.xusertype=b.xusertype ";

    string conn = string.Format("Server={0};database={1};Persist Security Info=True;User ID={2};Password={3}", address, dbname, user, pwd);    //也可以通过public static string str=""直接确定连接的数据库

    string conn = string.Format("Server={0};Database={1};integrated security=true;Trusted_Connection=SSPI;uid={2};pwd={3}", address, dbname, user, pwd);   //也可以通过public static string str=""直接确定连接的数据库

*  //上面这个是获取表字段、注释及类型(这个比较麻烦点,可以分开在数据库里面执行,看查出来的是什么表,就懂了)
*

    sql="SELECT SCHEMA_NAME FROM information_schema.SCHEMATA";          //获取所有数据库(语句2)

 

  以上基本上就是类生成器对数据库的一些语句操作,期待纠正。可以留言探讨。谢谢!

    sql = "SELECT * FROM information_schema.TABLES WHERE table_schema='" 数据库名(变量) "'";    //获取数据库的表集合

 

mysql:

现所在公司做项目开发时,经常会自己创建model类,网上的生成器也很多,完全满足自己的不太现实,所以感觉自己做一个更有底气,主要针对过程中的一些语句进行整理,也供其他人学习参考。

mysql:  

sql server:

    sql = "SHOW DATABASES";      //获取所有数据库(语句1)

    

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划 数据库开发 2005 表字段 sql server 2