查询获取所有数据库名及数据库中表的集合、数据库连接字符串(类生成器,暂时支持mysql,sql server,后期有oracle再更新)
现所在公司做项目开发时,经常会自己创建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='" + 表名称(变量)+ "'";
//上面这个是获取表字段、注释及类型(这个比较麻烦点,可以分开在数据库里面执行,看查出来的是什么表,就懂了)
以上基本上就是类生成器对数据库的一些语句操作,期待纠正。可以留言探讨。谢谢!
查询获取所有数据库名及数据库中表的集合、数据库连接字符串(类生成器,暂时支持mysql,sql server,后期有oracle再更新)的更多相关文章
- Oracle—数据库名、数据库实例名、数据库域名、数据库服务名的区别
Oracle-数据库名.数据库实例名.数据库域名.数据库服务名的区别 一.数据库名 1.什么是数据库名 数据库名就是一个数据库的标识,就像人的身份证号一样.他用参数DB_NAME表示,如果 ...
- MySQL&SQL server&Oracle&Access&PostgreSQL数据库sql注入详解
判断数据库的类型 当我们通过一些测试,发现存在SQL注入之后,首先要做的就是判断数据库的类型. 常用的数据库有MySQL.Access.SQLServer.Oracle.PostgreSQL.虽然绝大 ...
- 如何连接oracle,mysql, SQL Server数据库(Java版)
先添加上连接oracle,MySQL的驱动路径和数据库连接URL: MySQL: final String DBDRIVER = "org.gjt.mm.mysql.Driver" ...
- 从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库
开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database ...
- .net(C#数据库访问) Mysql,Sql server,Sqlite,Access四种数据库的连接方式
便签记录Mysql,Sql server,Sqlite,Access四种数据库的简单连接方式 //using MySql.Data.MySqlClient; #region 执行简单SQL语句,使用M ...
- 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效
数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都 ...
- 不同数据库oracle mysql SQL Server DB2 infomix sybase分页查询语句
在不同数据库中的使用的分页查询语句: 当前页:currentpage 页大小:pagesize 1. Oracle数据库 select * from (select A.*,rownum rn fro ...
- Oracle,Mysql ,SQL Server 三大数据库带参数的模糊查询, 拼接查询条件问题
最近项目开发一直在不断切换数据库,有时候一条sql 要同时考虑多种数据库中的兼容问题 , 先总结一条模糊查询拼接查询条件的问题,后续追加总结. 目前使用 mybatis: 1. Oracle 中使 ...
- 使用 cmd连接 Oracle,MySql,SQL Server 数据库
1. Oracle cmd连接数据库 语法: sqlplus 用户/口令(密码)@服务器IP/数据库实例名(SID) 1.1 方式一 数据库服务在本机上IP可以用localhost替换 sqlplus ...
随机推荐
- ACM学习历程—Hihocoder编程之美测试赛B题 大神与三位小伙伴(组合数学 )
时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 给你一个m x n (1 <= m, n <= 100)的矩阵A (0<=aij<=10000),要 ...
- 【LintCode】060.Search Insert Position
题目: Given a sorted array and a target value, return the index if the target is found. If not, return ...
- hdu3037Saving Beans——卢卡斯定理
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3037 卢卡斯定理模板——大组合数的取模 代码如下: #include<iostream> #i ...
- 四 akka学习 四种多线程的解决方案
http://blog.csdn.net/chenleixing/article/details/44044243 四种多线程的解决方案
- [原创]Devexpress XtraReports 系列 1 创建静态报表
在各种管理系统中,报表是必不可少的.报表是数据最直观体现的方式之一 以前,屌丝我是微软的忠实粉丝,所以报表工具就是微软自带的RDLC... 不可否认的是RDLC的功能是非常强大的.能够满足绝大多数的要 ...
- jsp九大内置对象与servlet中java对象
jsp九大内置对象 request对象 : getParameter(String name)获取表单提交的数据 getParamegerNames() 获取客户端提交的所有参数名 getAttri ...
- 自定义TabWidget
在开发过程中,默认的TabWidget不能满足我们对于UI的要求并且没有足够的属性工我们去修改,这个时候能够自定义TabWidget是非常必要的.自定义TabWidget组要运用的是TabSpec.s ...
- ACM-ICPC2018徐州网络赛 Hard to prepare(dp)
Hard to prepare 28.63% 1000ms 262144K After Incident, a feast is usually held in Hakurei Shrine. T ...
- css样式也技巧
目录 关于iPhone的点击事件绑定无效的处理方法 https://blog.csdn.net/u014477038/article/details/52527194 去掉a.button.input ...
- surface shader相关参数,命令
https://docs.unity3d.com/Manual/SL-SurfaceShaders.html 说明: 注意下surfaceshader相关开关选项,input结构体全部可用参数 goo ...