查询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.Matcherimport 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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)