java如何获取数据库中所有表名

java如何获取数据库中所有表名,第1张

有多种方法的,最简单的就是直接用sql查询(比如mysql是:show tables),然后java里面用一个map接收就好了。也可以通过java对数据库的链接来直接获取数据库表名的。

Java连接Mysql数据库,如何获取所有的数据库名

查询mysql中所有数据库名称

一,这种方法像执行普通的SQL语句一下,sql如下:

SELECT `SCHEMA_NAME`

FROM `information_schema`.`SCHEMATA`

二,

List<String>list=new ArrayList<String>()

//String sql="SELECT SCHEMA_NAME FROM information_schema.SCHEMATA"

try{

//Statement st=(Statement) conn.createStatement()

DatabaseMetaData dmd=(DatabaseMetaData) conn.getMetaData()

ResultSet rs=dmd.getCatalogs()

while(rs.next()){

在正则表达式加两个单词边界符,就不会匹配IS_USE字段了.

正则表达式 (?i)\buse\b\s+\[?\s*(\w+)\s*\]?

我给你个Java语言的例子,你看看吧.

import java.util.regex.Matcher

import java.util.regex.Pattern

public class PM{

 public static void main(String args[]){

  Pattern compile = Pattern.compile("(?i)\\buse\\b\\s+\\[?\\s*(\\w+)\\s*\\]?")

  StringBuilder sql = new StringBuilder("USE TEST").append("\r\n")

  sql.append("GO").append("\r\n")

  sql.append("CREATE TABLE TEST_TABLE(").append("\r\n")

  sql.append("IS_USE VARCHAR(100) NOT NULL").append("\r\n")

  sql.append(")")

  Matcher matcher = compile.matcher(sql)

  while(matcher.find()){

   System.out.println(matcher.group())

  }

 }

}

运行结果

USE TEST


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10099697.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存