幾種常見資料庫的jdbc連線及簡單查詢
阿新 • • 發佈:2021-09-16
1、Hive
1)driver
org.apache.hive.jdbc.HiveDriver
2)url
jdbc:hive2://<ip>:<埠>/<資料庫>
3)查詢所有庫
show databases
4)查詢所有表
show tables
2、MySQL
1)driver
com.mysql.jdbc.Driver
//8.0以上版本
com.mysql.cj.jdbc.Driver
2)url
jdbc:mysql://<ip>:<埠>/<資料庫>
3)查詢所有表
show tables
4)查詢所有欄位
select COLUMN_NAME from INFORMATION_SCHEMA.Columns where table_name='<表名>'
3、Oracle
1)driver
oracle.jdbc.driver.OracleDriver
2)url
jdbc:oracle:thin:@<ip>:<埠>:<資料庫>
3)查詢所有schema
select SYS_CONTEXT('USERENV','CURRENT_SCHEMA') CURRENT_SCHEMA from dual
4)查詢所有表
select table_name item_name from all_tables where owner = '<schema>' union all select view_name item_name from all_views where owner = '<schema>' order by item_name
5)查詢所有欄位
select COLUMN_NAME from sys.all_tab_columns where table_name='<表名>' and owner = '<schema>' ORDER BY COLUMN_ID
4、SQL Server
1)driver
com.microsoft.sqlserver.jdbc.SQLServerDriver
2)url
jdbc:sqlserver://<ip>:<埠>;DatabaseName=<資料庫>
3)查詢所有表
SELECT name FROM SysObjects Where Type='U'
4)查詢所有欄位
SELECT Name from syscolumns WHERE id=Object_Id('<表名>') order by colid
5、達夢
1)driver
dm.jdbc.driver.DmDriver
2)url
jdbc:dm://<ip>:<埠>/<資料庫>
3)查詢所有schema
select distinct object_name TABLE_SCHEMA from all_objects where object_type = 'SCH'
4)查詢所有表
select table_name from dba_tables where owner='<schema>'
5)查詢所有欄位
select column_name from all_tab_columns where owner='<schema>' and Table_Name='<表名>'
6、Kingbase
1)driver
com.kingbase8.Driver
2)url
jdbc:kingbase8://<ip>:<埠>/<資料庫>
3)查詢所有schema
select nspname from sys_namespace a left join sys_user b on a.nspowner = b.usesysid where b.usename = '<使用者名稱>' and nspacl is not null
4)查詢所有表
SELECT table_name FROM information_schema.tables WHERE table_schema = '<schema>'
5)查詢所有欄位
SELECT column_name FROM information_schema.columns WHERE table_schema = '<schema>' and table_name='<表名>'
7、Sqlite
1)driver
org.sqlite.JDBC
2)url
jdbc:sqlite:<資料庫檔案所在>
3)查詢所有表
select tbl_name from sqlite_master where type='table'
4)查詢所有欄位
select * from '<表名>'
附加
//ResultSet中有一個getMetaData方法可以獲取讀取表的表頭以及欄位型別資訊
ResultSetMetaData rsMetaData = rs.getMetaData();
int columnCount = rsMetaData.getColumnCount();
for (int i = 1; i <= columnCount; i++) {
System.out.println(rsMetaData.getColumnName(i)+" "+rsMetaData.getColumnTypeName(i));
}