Java DatabaseMetaData getSQLKeywords() 方法示例

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

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

  • 确保您的数据库已启动并正在运行。

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

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

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

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

示例

以下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 {
      //注册驱动程序
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //获取连接
      String url = "jdbc:mysql://localhost/example_database";
      Connection con = DriverManager.getConnection(url, "root", "password");
      System.out.println("连接已建立......");
      //检索元数据对象
      DatabaseMetaData metaData = con.getMetaData();
      //检索数据库中底层的关键字
      String sqlKeyWords = metaData.getSQLKeywords();
      StringTokenizer tokenizer = new StringTokenizer(sqlKeyWords, ",");
      while(tokenizer.hasMoreElements()) {
         System.out.println(tokenizer.nextToken());
      }
   }
}
输出结果
连接已建立......
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