一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - Java實現獲得MySQL數據庫中所有表的記錄總數可行方法

Java實現獲得MySQL數據庫中所有表的記錄總數可行方法

2019-12-30 15:37MYSQL教程網 Mysql

可以通過SELECT COUNT(*) FROM table_name查詢某個表中有多少條記錄。本文給出兩種可行的Java程序查詢所有別的記錄方法,感興趣朋友可以了解下

在MySQL中,可以通過SELECT COUNT(*) FROM table_name查詢某個表中有多少條記錄。如果想知道某個數據庫中所有別的記錄總數應該怎么做呢?本文給出兩種可行的Java程序,解決該問題。

1. 首先確定數據庫中有多少個表,然后對每個表執行SELECT COUNT(*) FROM table_name 

復制代碼代碼如下:


import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.ResultSetMetaData; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.util.ArrayList; 
import java.util.List; 
public class Test { 
private static String driver = "com.mysql.jdbc.Driver"; 
private static String url = "jdbc:mysql://127.0.0.1/"; 
private static String db = "test"; 
private static String user = "root"; 
private static String pass = "test"; 
static Connection conn = null; 
static Statement statement = null; 
static PreparedStatement ps = null; 
static ResultSet rs = null; 

static List<String> tables = new ArrayList<String>(); 

public static void startMySQLConn() { 
try { 
Class.forName(driver).newInstance(); 
conn = DriverManager.getConnection(url+db, user, pass); 
if (!conn.isClosed()) { 
System.out.println("Succeeded connecting to MySQL!"); 


statement = conn.createStatement(); 
} catch (Exception e) { 
e.printStackTrace(); 



public static void closeMySQLConn() { 
if(conn != null){ 
try { 
conn.close(); 
System.out.println("Database connection terminated!"); 
} catch (SQLException e) { 
e.printStackTrace(); 




public static void getTables() { 
String sql = "show tables;"; 
try { 
ps = conn.prepareStatement(sql); 
rs = ps.executeQuery(); 
while (rs.next()) { 
tables.add(rs.getString(1)); 

} catch (Exception e) { 
e.printStackTrace(); 



public static long getDbSum() { 
long sum = 0; 
String sql = "select count(*) from "; 
try { 
for(String tblName: tables) { 
ps = conn.prepareStatement(sql + tblName + ";"); 
rs = ps.executeQuery(); 
while (rs.next()) { 
sum += rs.getInt(1); 


} catch (Exception e) { 
e.printStackTrace(); 

return sum; 


public static void main(String[] args) { 
startMySQLConn(); 
getTables(); 
System.out.println(getDbSum()); 
closeMySQLConn(); 


2. 借助information_schema庫的tables表 

復制代碼代碼如下:


import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.ResultSetMetaData; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.util.ArrayList; 
import java.util.List; 
public class Test { 
private static String driver = "com.mysql.jdbc.Driver"; 
private static String url = "jdbc:mysql://127.0.0.1/"; 
private static String db = "test"; 
private static String user = "root"; 
private static String pass = "test"; 
static Connection conn = null; 
static Statement statement = null; 
static PreparedStatement ps = null; 
static ResultSet rs = null; 

public static void startMySQLConn() { 
try { 
Class.forName(driver).newInstance(); 
conn = DriverManager.getConnection(url+db, user, pass); 
if (!conn.isClosed()) { 
System.out.println("Succeeded connecting to MySQL!"); 


statement = conn.createStatement(); 
} catch (Exception e) { 
e.printStackTrace(); 



public static void closeMySQLConn() { 
if(conn != null){ 
try { 
conn.close(); 
System.out.println("Database connection terminated!"); 
} catch (SQLException e) { 
e.printStackTrace(); 




public static void useDB() { 
String sql = "use information_schema;"; 
try { 
ps = conn.prepareStatement(sql); 
rs = ps.executeQuery(); 
} catch (Exception e) { 
e.printStackTrace(); 



public static long getDbSum() { 
long sum = 0; 
String sql = "select table_name,table_rows from tables where TABLE_SCHEMA = '" + 
db + "' order by table_rows desc;"; 
//System.out.println(sql); 
try { 
ps = conn.prepareStatement(sql); 
rs = ps.executeQuery(); 
while (rs.next()) { 
sum += rs.getInt(2); 

} catch (Exception e) { 
e.printStackTrace(); 

return sum; 


public static void main(String[] args) { 
startMySQLConn(); 
useDB(); 
System.out.println(getDbSum()); 
closeMySQLConn(); 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲色图影院 | a性片| 亚洲欧美一区二区三区在饯 | 国产自拍影院 | 欧美粗黑巨大gay | 国产综合第一页 | 韩国漂亮美女三级在线观看 | 亚洲九九精品 | 视频二区 素人 欧美 日韩 | www.男人的天堂.com | 国产另类视频一区二区三区 | 亚洲成av人片天堂网 | 欧美va免费大片 | 牛牛影院成人免费网页 | 2019自拍偷拍视频 | 男人午夜视频在线观看 | 78成人网 | 色成人综合网 | 91夜色视频 | 久久电影院久久国产 | 国产日韩精品一区二区在线观看 | 欧洲老太玩小伙 | 国产一卡2卡3卡四卡国色天香 | 亚洲精品国产精品麻豆99 | 欧美一级免费看 | 探花 在线 | 国产综合成人久久大片91 | 天堂樱桃bt在线www | 91久久精品国产一区二区 | 欧美成人禁片在线观看俄罗斯 | 精品久久久久免费极品大片 | 狠狠搞视频| 免费一级毛片在级播放 | 男同桌扒开女同桌胸罩喝奶 | ange venus与黑人| 午夜尤物 | 日韩高清无砖砖区2022 | 日本视频高清免费观看xxx | 美女扒开屁股 | 日韩欧美天堂 | 高h巨肉play|