欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)獲得MySQL數(shù)據(jù)庫(kù)中所有表的記錄總數(shù)可行方法

 更新時(shí)間:2013年06月14日 15:58:13   作者:  
可以通過(guò)SELECT COUNT(*) FROM table_name查詢某個(gè)表中有多少條記錄。本文給出兩種可行的Java程序查詢所有別的記錄方法,感興趣朋友可以了解下
在MySQL中,可以通過(guò)SELECT COUNT(*) FROM table_name查詢某個(gè)表中有多少條記錄。如果想知道某個(gè)數(shù)據(jù)庫(kù)中所有別的記錄總數(shù)應(yīng)該怎么做呢?本文給出兩種可行的Java程序,解決該問(wèn)題。

1. 首先確定數(shù)據(jù)庫(kù)中有多少個(gè)表,然后對(duì)每個(gè)表執(zhí)行SELECT COUNT(*) FROM table_name
復(fù)制代碼 代碼如下:

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庫(kù)的tables表
復(fù)制代碼 代碼如下:

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

相關(guān)文章

  • Mysql查詢表字段結(jié)構(gòu)注釋的方式

    Mysql查詢表字段結(jié)構(gòu)注釋的方式

    這篇文章主要介紹了Mysql查詢表字段結(jié)構(gòu)注釋的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • mysql自動(dòng)填充時(shí)間的兩種實(shí)現(xiàn)方式小結(jié)

    mysql自動(dòng)填充時(shí)間的兩種實(shí)現(xiàn)方式小結(jié)

    這篇文章主要介紹了mysql自動(dòng)填充時(shí)間的兩種實(shí)現(xiàn)方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 詳解MySQL中事務(wù)隔離級(jí)別的實(shí)現(xiàn)原理

    詳解MySQL中事務(wù)隔離級(jí)別的實(shí)現(xiàn)原理

    這篇文章主要介紹了MySQL中事務(wù)隔離級(jí)別的實(shí)現(xiàn)原理,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2021-01-01
  • MySQL高級(jí)篇之索引的數(shù)據(jù)結(jié)構(gòu)詳解

    MySQL高級(jí)篇之索引的數(shù)據(jù)結(jié)構(gòu)詳解

    在MySQL中索引屬于存儲(chǔ)引擎級(jí)別的概念,不同存儲(chǔ)引擎對(duì)索引的實(shí)現(xiàn)方式是不同的,下面這篇文章主要給大家介紹了關(guān)于MySQL高級(jí)篇之索引數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • MySQL存儲(chǔ)過(guò)程的查詢命令介紹

    MySQL存儲(chǔ)過(guò)程的查詢命令介紹

    這篇文章主要介紹了MySQL存儲(chǔ)過(guò)程的查詢命令介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • Mysql如何查詢某條記錄在分頁(yè)的第幾頁(yè)詳析

    Mysql如何查詢某條記錄在分頁(yè)的第幾頁(yè)詳析

    查詢是我們?nèi)粘9ぷ髦薪?jīng)常會(huì)遇到的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于Mysql如何查詢某條記錄在分頁(yè)的第幾頁(yè)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-11-11
  • 一文教你如何使用MySQL觸發(fā)器

    一文教你如何使用MySQL觸發(fā)器

    觸發(fā)器(TRIGGER)是MySQL的數(shù)據(jù)庫(kù)對(duì)象之一,是一種特殊類型的存儲(chǔ)過(guò)程,從5.0版本開(kāi)始支持,下面這篇文章主要給大家介紹了關(guān)于如何使用MySQL觸發(fā)器的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Linux安裝mysql并配置外網(wǎng)訪問(wèn)的實(shí)例

    Linux安裝mysql并配置外網(wǎng)訪問(wèn)的實(shí)例

    今天小編就為大家分享一篇Linux安裝mysql并配置外網(wǎng)訪問(wèn)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • asp.net 將圖片上傳到mysql數(shù)據(jù)庫(kù)的方法

    asp.net 將圖片上傳到mysql數(shù)據(jù)庫(kù)的方法

    圖片通過(guò)asp.net上傳到mysql數(shù)據(jù)庫(kù)的方法
    2009-06-06
  • mysql請(qǐng)求阻塞問(wèn)題解析

    mysql請(qǐng)求阻塞問(wèn)題解析

    這篇文章主要介紹了mysql請(qǐng)求阻塞問(wèn)題解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-10-10

最新評(píng)論