首页数据库java获取数据库表字段,java如何获得数据库表中各字段的字段名

java获取数据库表字段,java如何获得数据库表中各字段的字段名

编程之家2023-10-21119次浏览

大家好,感谢邀请,今天来为大家分享一下java获取数据库表字段的问题,以及和java如何获得数据库表中各字段的字段名的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

java获取数据库表字段,java如何获得数据库表中各字段的字段名

java如何获得数据库表中各字段的字段名

Java获取数据库的表中各字段的字段名,代码如下:

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.PreparedStatement;

importjava.sql.ResultSetMetaData;

java获取数据库表字段,java如何获得数据库表中各字段的字段名

importjava.sql.SQLException;

publicclassTestDemo{

publicstaticConnectiongetConnection(){

Connectionconn=null;

try{

Class.forName("com.mysql.jdbc.Driver");

java获取数据库表字段,java如何获得数据库表中各字段的字段名

Stringurl="jdbc:mysql://数据库IP地址:3306/数据库名称";

Stringuser="数据库用户名";

Stringpass="数据库用户密码";

conn=DriverManager.getConnection(url,user,pass);

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}catch(SQLExceptione){

e.printStackTrace();

}

returnconn;

}

publicstaticvoidmain(String[]args){

Connectionconn=getConnection();

Stringsql="select*fromAccessType";

PreparedStatementstmt;

try{

stmt=conn.prepareStatement(sql);

ResultSetrs=stmt.executeQuery(sql);

ResultSetMetaDatadata=rs.getMetaData();

for(inti=1;i<=data.getColumnCount();i++){

//获得所有列的数目及实际列数

intcolumnCount=data.getColumnCount();

//获得指定列的列名

StringcolumnName=data.getColumnName(i);

//获得指定列的列值

intcolumnType=data.getColumnType(i);

//获得指定列的数据类型名

StringcolumnTypeName=data.getColumnTypeName(i);

//所在的Catalog名字

StringcatalogName=data.getCatalogName(i);

//对应数据类型的类

StringcolumnClassName=data.getColumnClassName(i);

//在数据库中类型的最大字符个数

intcolumnDisplaySize=data.getColumnDisplaySize(i);

//默认的列的标题

StringcolumnLabel=data.getColumnLabel(i);

//获得列的模式

StringschemaName=data.getSchemaName(i);

//某列类型的精确度(类型的长度)

intprecision=data.getPrecision(i);

//小数点后的位数

intscale=data.getScale(i);

//获取某列对应的表名

StringtableName=data.getTableName(i);

//是否自动递增

booleanisAutoInctement=data.isAutoIncrement(i);

//在数据库中是否为货币型

booleanisCurrency=data.isCurrency(i);

//是否为空

intisNullable=data.isNullable(i);

//是否为只读

booleanisReadOnly=data.isReadOnly(i);

//能否出现在where中

booleanisSearchable=data.isSearchable(i);

System.out.println(columnCount);

System.out.println("获得列"+i+"的字段名称:"+columnName);

System.out.println("获得列"+i+"的类型,返回SqlType中的编号:"+columnType);

System.out.println("获得列"+i+"的数据类型名:"+columnTypeName);

System.out.println("获得列"+i+"所在的Catalog名字:"+catalogName);

System.out.println("获得列"+i+"对应数据类型的类:"+columnClassName);

System.out.println("获得列"+i+"在数据库中类型的最大字符个数:"+columnDisplaySize);

System.out.println("获得列"+i+"的默认的列的标题:"+columnLabel);

System.out.println("获得列"+i+"的模式:"+schemaName);

System.out.println("获得列"+i+"类型的精确度(类型的长度):"+precision);

System.out.println("获得列"+i+"小数点后的位数:"+scale);

System.out.println("获得列"+i+"对应的表名:"+tableName);

System.out.println("获得列"+i+"是否自动递增:"+isAutoInctement);

System.out.println("获得列"+i+"在数据库中是否为货币型:"+isCurrency);

System.out.println("获得列"+i+"是否为空:"+isNullable);

System.out.println("获得列"+i+"是否为只读:"+isReadOnly);

System.out.println("获得列"+i+"能否出现在where中:"+isSearchable);

}

}catch(SQLExceptione){

e.printStackTrace();

}

}

}

java 获取mysql 某个数据库中所有表及表的列的信息

mysql里面提供了很多方法来获取表结构和表列:如下方法

获得某表所有列的信息:

String sql= select* from tname;//tname为某一表名

Connection conn=....;

Statement st= conn.createStatement();

ResultSet rs= st.rs= st.executeQuery(sql);

ResultSetMetaData rsmd= rs.getMetaData();

int colcount= rsmd.getColumnCount();//取得全部列数

for(int i=0;i<colcount;i++){

String colname= rsmd.getColumnName(i);//取得全部列名

}

以上为某表字段具体查询,如果是查询表的信息,如在mysql服务器上那样的查询结果的话,可以用一下代码:

ResultSet.executeQuery("show tables")可以的到所有的表信息。

ResultSet.executeQuery("describe tname")可以得到表的字段信息。//tname为表名

java怎样读取数据库表中字段的数据类型

Java获取数据库的表中各字段的字段名,代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.PreparedStatement;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

public class TestDemo{

public static Connection getConnection(){

Connection conn= null;

try{

Class.forName("com.mysql.jdbc.Driver");

String url="jdbc:mysql://数据库IP地址:3306/数据库名称";

String user="数据库用户名";

String pass="数据库用户密码";

conn= DriverManager.getConnection(url, user, pass);

} catch(ClassNotFoundException e){

e.printStackTrace();

} catch(SQLException e){

e.printStackTrace();

}

return conn;

}

public static void main(String[] args){

Connection conn= getConnection();

String sql="select* from AccessType";

PreparedStatement stmt;

try{

stmt= conn.prepareStatement(sql);

ResultSet rs= stmt.executeQuery(sql);

ResultSetMetaData data= rs.getMetaData();

for(int i= 1; i<= data.getColumnCount(); i++){

//获得所有列的数目及实际列数

int columnCount= data.getColumnCount();

//获得指定列的列名

String columnName= data.getColumnName(i);

//获得指定列的列值

int columnType= data.getColumnType(i);

//获得指定列的数据类型名

String columnTypeName= data.getColumnTypeName(i);

//所在的Catalog名字

String catalogName= data.getCatalogName(i);

//对应数据类型的类

String columnClassName= data.getColumnClassName(i);

//在数据库中类型的最大字符个数

int columnDisplaySize= data.getColumnDisplaySize(i);

//默认的列的标题

String columnLabel= data.getColumnLabel(i);

//获得列的模式

String schemaName= data.getSchemaName(i);

//某列类型的精确度(类型的长度)

int precision= data.getPrecision(i);

//小数点后的位数

int scale= data.getScale(i);

//获取某列对应的表名

String tableName= data.getTableName(i);

//是否自动递增

boolean isAutoInctement= data.isAutoIncrement(i);

//在数据库中是否为货币型

boolean isCurrency= data.isCurrency(i);

//是否为空

int isNullable= data.isNullable(i);

//是否为只读

boolean isReadOnly= data.isReadOnly(i);

//能否出现在where中

boolean isSearchable= data.isSearchable(i);

System.out.println(columnCount);

System.out.println("获得列"+ i+"的字段名称:"+ columnName);

System.out.println("获得列"+ i+"的类型,返回SqlType中的编号:"+ columnType);

System.out.println("获得列"+ i+"的数据类型名:"+ columnTypeName);

System.out.println("获得列"+ i+"所在的Catalog名字:"+ catalogName);

System.out.println("获得列"+ i+"对应数据类型的类:"+ columnClassName);

System.out.println("获得列"+ i+"在数据库中类型的最大字符个数:"+ columnDisplaySize);

System.out.println("获得列"+ i+"的默认的列的标题:"+ columnLabel);

System.out.println("获得列"+ i+"的模式:"+ schemaName);

System.out.println("获得列"+ i+"类型的精确度(类型的长度):"+ precision);

System.out.println("获得列"+ i+"小数点后的位数:"+ scale);

System.out.println("获得列"+ i+"对应的表名:"+ tableName);

System.out.println("获得列"+ i+"是否自动递增:"+ isAutoInctement);

System.out.println("获得列"+ i+"在数据库中是否为货币型:"+ isCurrency);

System.out.println("获得列"+ i+"是否为空:"+ isNullable);

System.out.println("获得列"+ i+"是否为只读:"+ isReadOnly);

System.out.println("获得列"+ i+"能否出现在where中:"+ isSearchable);

}

} catch(SQLException e){

e.printStackTrace();

}

}

}

关于java获取数据库表字段,java如何获得数据库表中各字段的字段名的介绍到此结束,希望对大家有所帮助。

登录云服务器?如何连接云服务器数据备份服务器,两台服务器要怎样做到互为备份