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

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

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(); 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩在线一区二区 | 国产一区私人高清影院 | 日韩免费高清专区 | 99视频都是精品热在线播放 | 青青热久久综合网伊人 | 操女人的b | 大伊人青草狠狠久久 | 无删减影视免费观看 | 2022国产麻豆剧传媒剧情 | 好大好爽好硬我要喷水了 | 国产高清亚洲 | 国产成人高清亚洲一区91 | 和直男装修工在工地啪 | 36美女厕所撒尿全过程 | 欧洲美女人牲交一级毛片 | 亚洲国产精品综合久久网络 | 成3d漫二区三区四区 | 免费观看一级一片 | x8x8在线观看免费 | 亚洲色大成网站www久久九九 | 91私密保健女子养生spa | 情缘免费观看完整版 | 娇妻被老外疯狂调教 | 国产精品久久久久久久人人看 | 好大好硬好紧太深了受不了 | 日本搜子同屋的日子2国语 日本爽p大片免费观看 | 亚洲国产成人在线视频 | 国产亚洲欧美在线中文bt天堂网 | 爱爱一级视频 | 亚洲一区二区三区深夜天堂 | 国产欧美国产综合第一区 | 免费日本在线 | 欧美成人免费观看bbb | 日韩一区二区三区不卡视频 | 亚洲第成色999久久网站 | 小舞丝袜调教喷水沦为肉奴 | 男人天堂999 | freexxxx性大陆另类 | 国产精品久久国产精品99 | 91精品国产综合久久消防器材 | 丁香六月婷婷激情 |