博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
查询获取所有数据库名及数据库中表的集合、数据库连接字符串(类生成器,暂时支持mysql,sql server,后期有oracle再更新)...
阅读量:6708 次
发布时间:2019-06-25

本文共 1791 字,大约阅读时间需要 5 分钟。

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

连接字符串:

mysql:  

    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=""直接确定连接的数据库

sql server:

    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=""直接确定连接的数据库

 

mysql:

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

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

    

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

 

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

sql server:

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

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

 

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

    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='" + 表名称(变量)+ "'";

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

 

 

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

 

转载于:https://www.cnblogs.com/tec-1988/p/5915293.html

你可能感兴趣的文章
android自己定义控件系列教程-----仿新版优酷评论剧集卡片滑动控件
查看>>
emacs的常用配置备份
查看>>
lvs之 lvs+nginx+tomcat_1、tomcat_2+redis(lvs dr 模式)
查看>>
让js中的函数只有一次有效调用的三种常用方法
查看>>
python实现算24的算法
查看>>
Extending a logical volume in a virtual machine running Red Hat or Cent OS (1006371)
查看>>
操作xml格式的字符串的方法(C#)
查看>>
[转]MySQL索引详解(1)
查看>>
poj 3040 Allowance 贪心
查看>>
分享27款最佳的复古风格 WordPress 主题
查看>>
ASP.NET 打包多CSS或JS文件以加快页面加载速度的Handler
查看>>
让“是男人就下到100层”在Android平台上跑起来
查看>>
hdu 1010:Tempter of the Bone(DFS + 奇偶剪枝)
查看>>
文件和目录之umask函数
查看>>
ecmall的物流配送体系改造
查看>>
[Python]网络爬虫(九):百度贴吧的网络爬虫(v0.4)源码及解析(转)
查看>>
hdu4292Food(最大流Dinic算法)
查看>>
手机网站判断及跳转
查看>>
[LeetCode] Text Justification
查看>>
webdriver API study
查看>>