数据库实现批量删除数据的操作方法(代码实例)


本文摘自PHP中文网,作者青灯夜游,侵删。

本篇文章就给大家介绍数据库实现批量删除数据的操作方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

package com.mescs.baseinfo.utils;

 

import java.sql.Connection;

import java.sql.DatabaseMetaData;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

 

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;/**

 *

 * 类名:DatabaseUtil  <br />

 *

 * 功能:数据库操作

 *

 */

 public class DatabaseUtil {   

    private final static Logger LOGGER = LoggerFactory.getLogger(DatabaseUtil.class);   

    private static final String DRIVER = "org.firebirdsql.jdbc.FBDriver";   

    private static final String URL = "jdbc:firebirdsql:embedded:mescs.fdb?lc_ctype=UTF8";   

    private static final String USERNAME = "root";   

    private static final String PASSWORD = "root";   

    private static final String SQL = "DELETE FROM ";// 数据库数据库表内容清空

     

    static {        try {

            Class.forName(DRIVER);

        } catch (ClassNotFoundException e) {

            LOGGER.error("数据库驱动加载失败===>>>", e);

        }

    }    /**

     * 获取数据库连接

     *

     * @return     */

    public static Connection getConnection() {

        Connection conn = null;       

        try {

            conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);

        } catch (SQLException e) {

            LOGGER.error("数据库连接失败===>>>", e);

        }        return conn;

    }    /**

     * 关闭数据库连接

     * @param conn     */

    public static void closeConnection(Connection conn) {       

       if(conn != null) {           

            try {

                conn.close();

            } catch (SQLException e) {

                LOGGER.error("数据库关闭失败===>>>", e);

            }

        }

    }    /**

     * 获取数据库下的所有表名     */

    public static List<String> getTableNames() {

        List<String> tableNames = new ArrayList<String>();

        Connection conn = getConnection();

        ResultSet rs = null;       

        try {       //获取数据库的元数据

            DatabaseMetaData db = conn.getMetaData();  //从元数据中获取到所有的表名

            rs = db.getTables(null, null, null, new String[] { "TABLE" });           

            while(rs.next()) {

                tableNames.add(rs.getString(3));

            }

        } catch (SQLException e) {

            LOGGER.error("获取数据库表名失败===>>>", e);

        } finally {            try {

                rs.close();

                closeConnection(conn);

            } catch (SQLException e) {

                LOGGER.error("关闭数据库失败===>>>", e);

            }

        }        return tableNames;

    }    /*

     * 清空数据库表     */

    public static void emptyDatabase() throws SQLException {

        List<String> tableNames = getTableNames();

        Connection conn = getConnection();

        PreparedStatement pStemt = null;       

        for(String table:tableNames){           

             if(!table.equals("SYSPARAM") && !table.equals("T_CLEAR_DATA")){

                String tableSql = SQL + table;               

                try {

                    pStemt = conn.prepareStatement(tableSql);

                    Statement stmt=conn.createStatement();

                    stmt.executeUpdate(tableSql);

                } catch (SQLException e) {

                    e.printStackTrace();

                }

            }

        }

        conn.close();

    }

}

总结:这里的数据库用的Firebird数据库,当然可以用Mysql,Oracle等主流数据库,方法也只是简单列出了删除,增删改查类似,如法炮制。

相关推荐:

mysql数据库图文教程

MySQL视频教程

bootstrap视频教程

以上就是数据库实现批量删除数据的操作方法(代码实例)的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

数据库物理存储方式的描述称为什么?

dbms的体系结构有哪些类型

redis为什么默认建立16个数据库

数据库的并发操作可能带来哪些问题

access中表和数据库的关系是什么?

navicat删除的数据库是否可以找回

如何使用phpmyadmin导出sql数据库

怎么配置phpmyadmin连接远程mysql数据库

常用的sql数据库有哪些

常见的数据库软件有哪几种

更多相关阅读请进入《数据库》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...