代码如下:
import javasqlConnection;
import javasqlDriverManager;
import javasqlResultSet;
import javasqlPreparedStatement;
import javasqlResultSetMetaData;
import javasqlSQLException;
public class TestDemo {
public static Connection getConnection() {
Connection conn = null;
try {
ClassforName("commysqljdbcDriver");
String url = "jdbc:mysql://数据库IP地址:3306/数据库名称";
String user = "数据库用户名";
String pass = "数据库用户密码";
conn = DriverManagergetConnection(url, user, pass);
} catch (ClassNotFoundException e) {
eprintStackTrace();
} catch (SQLException e) {
eprintStackTrace();
}
return conn;
}
public static void main(String[] args) {
Connection conn = getConnection();
String sql = "select from AccessType";
PreparedStatement stmt;
try {
stmt = connprepareStatement(sql);
ResultSet rs = stmtexecuteQuery(sql);
ResultSetMetaData data = rsgetMetaData();
for (int i = 1; i <= datagetColumnCount(); i++) {
// 获得所有列的数目及实际列数
int columnCount = datagetColumnCount();
// 获得指定列的列名
String columnName = datagetColumnName(i);
// 获得指定列的列值
int columnType = datagetColumnType(i);
// 获得指定列的数据类型名
String columnTypeName = datagetColumnTypeName(i);
// 所在的Catalog名字
String catalogName = datagetCatalogName(i);
// 对应数据类型的类
String columnClassName = datagetColumnClassName(i);
// 在数据库中类型的最大字符个数
int columnDisplaySize = datagetColumnDisplaySize(i);
// 默认的列的标题
String columnLabel = datagetColumnLabel(i);
// 获得列的模式
String schemaName = datagetSchemaName(i);
// 某列类型的精确度(类型的长度)
int precision = datagetPrecision(i);
// 小数点后的位数
int scale = datagetScale(i);
// 获取某列对应的表名
String tableName = datagetTableName(i);
// 是否自动递增
boolean isAutoInctement = dataisAutoIncrement(i);
// 在数据库中是否为货币型
boolean isCurrency = dataisCurrency(i);
// 是否为空
int isNullable = dataisNullable(i);
// 是否为只读
boolean isReadOnly = dataisReadOnly(i);
// 能否出现在where中
boolean isSearchable = dataisSearchable(i);
Systemoutprintln(columnCount);
Systemoutprintln("获得列" + i + "的字段名称:" + columnName);
Systemoutprintln("获得列" + i + "的类型,返回SqlType中的编号:"+ columnType);
Systemoutprintln("获得列" + i + "的数据类型名:" + columnTypeName);
Systemoutprintln("获得列" + i + "所在的Catalog名字:"+ catalogName);
Systemoutprintln("获得列" + i + "对应数据类型的类:"+ columnClassName);
Systemoutprintln("获得列" + i + "在数据库中类型的最大字符个数:"+ columnDisplaySize);
Systemoutprintln("获得列" + i + "的默认的列的标题:" + columnLabel);
Systemoutprintln("获得列" + i + "的模式:" + schemaName);
Systemoutprintln("获得列" + i + "类型的精确度(类型的长度):" + precision);
Systemoutprintln("获得列" + i + "小数点后的位数:" + scale);
Systemoutprintln("获得列" + i + "对应的表名:" + tableName);
Systemoutprintln("获得列" + i + "是否自动递增:" + isAutoInctement);
Systemoutprintln("获得列" + i + "在数据库中是否为货币型:" + isCurrency);
Systemoutprintln("获得列" + i + "是否为空:" + isNullable);
Systemoutprintln("获得列" + i + "是否为只读:" + isReadOnly);
Systemoutprintln("获得列" + i + "能否出现在where中:"+ isSearchable);
}
} catch (SQLException e) {
eprintStackTrace();
}
}
}
模式是命名对象的集合 并提供了数据库中对象的逻辑分类 模式可以包含数据库对象 如表和视图等 模式本身也可以认为是数据库中的一个对象 当创建表或视图时隐式创建了模式 或者 可以使用 CREATE SCHEMA 语句显式创建它 创建对象时 可以用特定模式的名称来限定对象的名称 命名对象有两部分名称 其中第一部分名称是指定给对象的模式名 如果未指定模式名 则给对象指定其名称是用户执行语句的权限 ID 的缺省模式 对于交互式 SQL 该方法用于执行本书中的示例 权限 ID 为用 CONNECT 语句指定的用户 ID 例如 如果表名为 STAFF CONNECT 语句中指定的用户 ID 为 USERID 则限定名为 USERID STAFF 参见连接数据库以获取关于 CONNECT 语句的详情 某些模式名是系统保留的 例如 当预安装的用户定义函数 属于 SYSFUN 模式时 内部函数处于 SYSIBM 模式 参考 SQL Reference 以获取关于 CREATE SCHEMA 语句的详情 lishixinzhi/Article/program/SQLServer/201311/22178
Java获取数据库的表中各字段的字段名,代码如下:
import javasqlConnection;import javasqlDriverManager;import javasqlResultSet;import javasqlPreparedStatement;import javasqlResultSetMetaData;import javasqlSQLException;public class TestDemo {public static Connection getConnection() {Connection conn = null;try {ClassforName("commysqljdbcDriver");String url = "jdbc:mysql://数据库IP地址:3306/数据库名称";String user = "数据库用户名";String pass = "数据库用户密码";conn = DriverManagergetConnection(url, user, pass);} catch (ClassNotFoundException e) {eprintStackTrace();} catch (SQLException e) {eprintStackTrace();}return conn;}public static void main(String[] args) {Connection conn = getConnection();String sql = "select from AccessType";PreparedStatement stmt;try {stmt = connprepareStatement(sql);ResultSet rs = stmtexecuteQuery(sql);ResultSetMetaData data = rsgetMetaData();for (int i = 1; i <= datagetColumnCount(); i++) {// 获得所有列的数目及实际列数int columnCount = datagetColumnCount();// 获得指定列的列名String columnName = datagetColumnName(i);// 获得指定列的列值int columnType = datagetColumnType(i);// 获得指定列的数据类型名String columnTypeName = datagetColumnTypeName(i);// 所在的Catalog名字String catalogName = datagetCatalogName(i);// 对应数据类型的类String columnClassName = datagetColumnClassName(i);// 在数据库中类型的最大字符个数int columnDisplaySize = datagetColumnDisplaySize(i);// 默认的列的标题String columnLabel = datagetColumnLabel(i);// 获得列的模式String schemaName = datagetSchemaName(i);// 某列类型的精确度(类型的长度)int precision = datagetPrecision(i);// 小数点后的位数int scale = datagetScale(i);// 获取某列对应的表名String tableName = datagetTableName(i);// 是否自动递增boolean isAutoInctement = dataisAutoIncrement(i);// 在数据库中是否为货币型boolean isCurrency = dataisCurrency(i);// 是否为空int isNullable = dataisNullable(i);// 是否为只读boolean isReadOnly = dataisReadOnly(i);// 能否出现在where中boolean isSearchable = dataisSearchable(i);Systemoutprintln(columnCount);Systemoutprintln("获得列" + i + "的字段名称:" + columnName);Systemoutprintln("获得列" + i + "的类型,返回SqlType中的编号:"+ columnType);Systemoutprintln("获得列" + i + "的数据类型名:" + columnTypeName);Systemoutprintln("获得列" + i + "所在的Catalog名字:"+ catalogName);Systemoutprintln("获得列" + i + "对应数据类型的类:"+ columnClassName);Systemoutprintln("获得列" + i + "在数据库中类型的最大字符个数:"+ columnDisplaySize);Systemoutprintln("获得列" + i + "的默认的列的标题:" + columnLabel);Systemoutprintln("获得列" + i + "的模式:" + schemaName);Systemoutprintln("获得列" + i + "类型的精确度(类型的长度):" + precision);Systemoutprintln("获得列" + i + "小数点后的位数:" + scale);Systemoutprintln("获得列" + i + "对应的表名:" + tableName);Systemoutprintln("获得列" + i + "是否自动递增:" + isAutoInctement);Systemoutprintln("获得列" + i + "在数据库中是否为货币型:" + isCurrency);Systemoutprintln("获得列" + i + "是否为空:" + isNullable);Systemoutprintln("获得列" + i + "是否为只读:" + isReadOnly);Systemoutprintln("获得列" + i + "能否出现在where中:"+ isSearchable);}} catch (SQLException e) {eprintStackTrace();}}}
在进行 SELECT 查询时,加模式的主要目的是为了指明查询语句所 *** 作的数据库对象的类型。模式可以理解为数据库对象的层次结构中的上一层,常用的有三种模式类型:
1 用户层面(user-level schema)。用户层面定义的是用户所拥有的数据库对象,例如表、视图等。
2 应用层面(application-level schema)。应用层面定义的是应用程序所使用的数据库对象,例如存储过程、函数等。
3 逻辑层面(logical schema)。逻辑层面定义的是数据库整体概念结构的表示,包括数据模型、实体、关系等。
在实际使用中,如果没有指定模式,系统会默认使用当前用户的模式。但若拥有多个模式,则需要通过模式名来明确指定查询的模式,以防止出现因模式冲突而导致查询失败的情况。
例如,在 Oracle 数据库中,使用 SELECT 语句查询某个表时,需要指定表所属的模式,语法格式如下:
```
SELECT
FROM <模式><表名>
WHERE
```
其中,“模式”为表所属的模式名称,“表名”为要查询的表的名称。通过明确指定模式,可以有效避免模式冲突的问题,从而保证查询语句正常执行。
以上就是关于Java 中获得Access 数据库中的表名和表中的列名 及每个列的数据类型全部的内容,包括:Java 中获得Access 数据库中的表名和表中的列名 及每个列的数据类型、SQL入门:模式、java如何获得数据库表中各字段的字段名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)