Java DatabaseMetaData getSQLKeywords() 方法及示例


此方法检索底层数据库的所有 SQL 关键字列表,并以包含所有关键字(以逗号分隔)的字符串变量形式返回。

要获取数据库中的关键字列表:

  • 确保您的数据库正在运行。

  • 使用 DriverManager 类的 registerDriver() 方法注册驱动程序。传递与底层数据库对应的驱动程序类的对象。

  • 使用 DriverManager 类的 getConnection() 方法获取连接对象。将数据库的 URL 以及数据库中用户的用户名和密码(作为字符串变量)作为参数传递。

  • 使用 Connection 接口的 getMetaData() 方法获取当前连接的 DatabaseMetaData 对象。

  • 最后,通过调用 DatabaseMetaData 接口的 getSQLKeywords() 方法,检索底层数据库的关键字字符串列表。

示例

以下 JDBC 程序建立与 MySQL 数据库的连接,并检索底层数据库的关键字列表。

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.StringTokenizer;
public class DatabaseMetaData_getSQLKeywords {
   public static void main(String args[]) throws SQLException {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String url = "jdbc:mysql://127.0.0.1/example_database";
      Connection con = DriverManager.getConnection(url, "root", "password");
      System.out.println("Connection established......");
      //Retrieving the meta data object
      DatabaseMetaData metaData = con.getMetaData();
      //Retrieving the keywords of the underlying in the database
      String sqlKeyWords = metaData.getSQLKeywords();
      StringTokenizer tokenizer = new StringTokenizer(sqlKeyWords, ",");
      while(tokenizer.hasMoreElements()) {
         System.out.println(tokenizer.nextToken());
      }
   }
}

输出

Connection established......
ACCESSIBLE,ANALYZE,ASENSITIVE,BEFORE,BIGINT,BINARY,BLOB,CALL,CHANGE,CONDITION,DATABASE,DATABASES,
DAY_HOUR,DAY_MICROSECOND,DAY_MINUTE,DAY_SECOND,DELAYED,DETERMINISTIC,DISTINCTROW,DIV,DUAL,EACH,ELSEIF,
ENCLOSED,ESCAPED,EXIT,EXPLAIN,FLOAT4,FLOAT8,FORCE,FULLTEXT,HIGH_PRIORITY,HOUR_MICROSECOND,HOUR_MINUTE,
HOUR_SECOND,IF,IGNORE,INFILE,INOUT,INT1,INT2,INT3,INT4,INT8,ITERATE,KEYS,KILL,LEAVE,LIMIT,LINEAR,LINES,
LOAD,LOCALTIME,LOCALTIMESTAMP,LOCK,LONG,LONGBLOB,LONGTEXT,LOOP,LOW_PRIORITY,MEDIUMBLOB,MEDIUMINT,MEDIUMTEXT,
MIDDLEINT,MINUTE_MICROSECOND,MINUTE_SECOND,MOD,MODIFIES,NO_WRITE_TO_BINLOG,OPTIMIZE,OPTIONALLY,OUT,OUTFILE,
PURGE,RANGE,READS,READ_ONLY,READ_WRITE,REGEXP,RELEASE,RENAME,REPEAT,REPLACE,REQUIRE,RETURN,RLIKE,SCHEMAS,
SECOND_MICROSECOND,SENSITIVE,SEPARATOR,SHOW,SPATIAL,SPECIFIC,SQLEXCEPTION,SQL_BIG_RESULT,SQL_CALC_FOUND_ROWS,
SQL_SMALL_RESULT,SSL,STARTING,STRAIGHT_JOIN,TERMINATED,TINYBLOB,TINYINT,TINYTEXT,TRIGGER,UNDO,UNLOCK,UNSIGNED,
USE,UTC_DATE,UTC_TIME,UTC_TIMESTAMP,VARBINARY,VARCHARACTER,WHILE,X509,XOR,YEAR_MONTH,ZEROFILL

更新于:2019年7月30日

198 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告