本文目錄一覽:
- 1、如何用java 獲取mysql表和欄位的備註信息
- 2、java 通過jdbc如何獲取表名的注釋,注意,不是欄位的注釋
- 3、怎麼查看在mysql表中查看錶中的注釋
- 4、java 獲取mysql 某個資料庫中所有表及表的列的信息
如何用java 獲取mysql表和欄位的備註信息
Java獲取資料庫的表中各欄位的欄位名,代碼如下:
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 通過jdbc如何獲取表名的注釋,注意,不是欄位的注釋
取欄位注釋 這樣寫就OK
Select COLUMN_NAME 列名, DATA_TYPE 欄位類型, COLUMN_COMMENT 欄位注釋
from INFORMATION_SCHEMA.COLUMNS
Where table_name = ‘companies’##表名
AND table_schema = ‘testhuicard’##資料庫名
AND column_name LIKE ‘c_name’##欄位名
取表注釋這樣寫
Select table_name 表名,TABLE_COMMENT 表注釋 from INFORMATION_SCHEMA.TABLES Where table_schema = ‘testhuicard’ ##資料庫名
AND table_name LIKE ‘companies’##表名
我想應該很清晰了吧,我寫的都是SQL語句 你通過JDBC自己一調就全調出來了!有疑問就問出來哈
怎麼查看在mysql表中查看錶中的注釋
MySQL 查看錶結構簡單命令。
一、簡單描述表結構,欄位類型desc tabl_name;
顯示錶結構,欄位類型,主鍵,是否為空等屬性,但不顯示外鍵。
二、查詢表中列的注釋信息
select * from information_schema.columns where table_schema = ‘db’ #表所在資料庫
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;icolcount;i++){
String colname = rsmd.getColumnName(i);//取得全部列名
}
以上為某表欄位具體查詢,如果是查詢表的信息,如在mysql伺服器上那樣的查詢結果的話,可以用一下代碼:
ResultSet.executeQuery(“show tables”)可以的到所有的表信息。
ResultSet.executeQuery(“describe tname”)可以得到表的欄位信息。//tname為表名
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/309650.html