mysql 模糊删除

可以先模糊查找,放到容器里面,在删除

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class Newsdbo {
    private Connection conn = null;
    PreparedStatement statement = null;

// connect to MySQL
    public void connSQL() {
        String urle = "jdbc:mysql://192.168.1.100:3306/state?useUnicode=true&characterEncoding=utf-8";// port:3306
                                                                                                        // database:testdb
        String username = "root";// user
        String password = "";// password

try {
            try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
            } catch (InstantiationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }// 加载驱动,连接数据库
            conn = DriverManager.getConnection(urle, username, password);
        }
        // 捕获加载驱动程序异常
        catch (ClassNotFoundException cnfex) {
            System.err.println("装载 JDBC/ODBC 驱动程序失败。");
            cnfex.printStackTrace();
        }
        // 捕获连接数据库异常
        catch (SQLException sqlex) {
            System.err.println("无法连接数据库");
            sqlex.printStackTrace();
        }
    }

// disconnect to MySQL
    public void deconnSQL() {
        try {
            if (conn != null)
                conn.close();
        } catch (Exception e) {
            System.out.println("关闭数据库问题 :");
            e.printStackTrace();
        }
    }

// execute selection language
    public ResultSet selectSQL(String sql) {
        ResultSet rs = null;
        try {
            statement = conn.prepareStatement(sql);
            rs = statement.executeQuery(sql);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rs;
    }

// execute insertion language
    public boolean insertSQL(String sql) {
        try {
            statement = conn.prepareStatement(sql);
            statement.executeUpdate();
            return true;
        } catch (SQLException e) {
            System.out.println("插入数据库时出错:");
            e.printStackTrace();
        } catch (Exception e) {
            System.out.println("插入时出错:");
            e.printStackTrace();
        }
        return false;
    }

public boolean insert(String sql, Object[] params) {
        if (sql != null && !sql.equals("")) {
            PreparedStatement pstm = null;
            if (params == null)
                params = new Object[0];
            if (conn != null) {
                try {
                    pstm = (PreparedStatement) conn.prepareStatement(sql,
                            ResultSet.TYPE_SCROLL_INSENSITIVE,
                            ResultSet.CONCUR_READ_ONLY);
                    for (int i = 0; i < params.length; i++) {
                        pstm.setObject(i + 1, params[i]);
                    }
                    pstm.execute();
                    return true;
                } catch (SQLException e) {
                    throw new RuntimeException(e);
                }
            }
        }
        return false;
    }

// execute delete language
    public boolean deleteSQL(String sql) {
        try {
            statement = conn.prepareStatement(sql);
            statement.executeUpdate();
            return true;
        } catch (SQLException e) {
            System.out.println("插入数据库时出错:");
            e.printStackTrace();
        } catch (Exception e) {
            System.out.println("插入时出错:");
            e.printStackTrace();
        }
        return false;
    }

// execute update language
    public boolean updateSQL(String sql) {
        try {
            statement = conn.prepareStatement(sql);
            statement.executeUpdate();
            return true;
        } catch (SQLException e) {
            System.out.println("插入数据库时出错:");
            e.printStackTrace();
        } catch (Exception e) {
            System.out.println("插入时出错:");
            e.printStackTrace();
        }
        return false;
    }

// show data in ju_users
    public List<String> layoutStyle2(ResultSet rs) {
        List<String> topics = new ArrayList<String>();
        String desc;

try {
            while (rs.next()) {
                desc = new String();
                System.out.println(rs.getString(1));
                desc = rs.getString(1);

topics.add(desc);
            }
        } catch (SQLException e) {
            System.out.println("显示时数据库出错。");
            e.printStackTrace();
        } catch (Exception e) {
            System.out.println("显示出错。");
            e.printStackTrace();
        }
        return topics;
    }

public static void main(String args[]) {
        System.out.println("sfs");
        List<String> descid = new ArrayList<String>();
        Newsdbo newsdbo = new Newsdbo();
        newsdbo.connSQL();
        String select = "select *from recorder where  descid like ‘%kaidi%‘";
        descid = newsdbo.layoutStyle2(newsdbo.selectSQL(select));
        // String delete = "delete from recorder";
        // newsdbo.deleteSQL(delete);
        for (int i = 0; i < descid.size(); ++i) {
            String delete = "delete from recorder where descid=‘"
                    + descid.get(i) + "‘";
            newsdbo.deleteSQL(delete);
        }
        newsdbo.deconnSQL();
    }
}

时间: 2024-10-12 09:47:06

mysql 模糊删除的相关文章

redis 模糊删除key

redis-cli KEYS "pattern" | xargs redis-cli DEL Redis keys命令支持模式匹配,但是del命令不支持模式匹配,有时候需要根据一定的模式来模糊删除key,这时只能结合shell命令来完成了. 具体命令是: redis-cli KEYS "pattern" | xargs redis-cli DEL 其中pattern是keys命令支持的模式,这样就可以模糊删除key了.服务器上测试删除150万条数据的效率也是很高的.

MySQL完全删除教程

1.管理工具---服务里面停止Mysql服务. 2.控制面板---卸载Mysql,删除C:\Program Files\MySQL目录. 3.这是最关键一步,只做前面两步,密码还是修改不了,因为MySQL 还有文件,也就是在C:\Documents and Settings\All Users\Application Data里面的MySQL文件夹,这个文件没有清除是MySQL重装出现旧密码的根源所在.于是删除MySQL文件夹. 4.检查C:\WINDOWS目录下是否有my.ini文件,将其删除

Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办--转自http://www.jb51.net/article/88236.htm

这篇文章主要介绍了Mybatis使用MySQL模糊查询时输入中文检索不到结果的解决办法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 项目开发中,在做Mybatis动态查询时,遇到了一个问题:MySQL在进行LIKE模糊查询时,输入英文可以正常检索出结果,但是输入中文后检索得到的结果为空. 由于是使用GET方式请求,所以为了确保中文不乱码,在控制台接收到请求参数后,对中文进行了一次编码. ? 1 2 3 4 5 try { realName = new String(realNam

MySQL中删除数据的两种方法

转自:http://blog.csdn.net/apache6/article/details/2778878 在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句. DELETE语句可以通过WHERE对要删除的记录进行选择.而使用TRUNCATE TABLE将删除表中的所有记录.因此,DELETE语句更灵活. 如果要清空表中的所有记录,可以使用下面的两种方法: DELETE FROM table1 TRUNCATE TABLE table1 其

MySql模糊查询like通配符使用详细介绍

MySql模糊查询like通配符使用详细介绍 转载:http://chenpeng.info/html/2020 MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi.grep和sed的扩展正则表达式模式匹配的格式. 一.SQL模式 SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符).在 MySQL中,SQL的模式缺省是忽略大小写的.下面显示一些例子.注意在你使用SQL模式时,你不能使用=或!=:而使用LIKE或NOT LIKE比较操作

mysql关联删除记录

在项目开发过程中,要删除表中的记录数据,但是给的字段值不是本表中的字段值,试了很多方法都没有成功,最后看到这个方法挺好用的: DELETE g FROM ws_group_users g, yf_user u WHERE g.userid=u.id and u.phone=? mysql关联删除记录,布布扣,bubuko.com

Mysql 如何删除数据表中的重复数据!

1.使用distinct查询所有不重复的记录 2.创建数据表相同结构的临时表,将第一步的数据复制进去 create temporary table if not exists student_temp as (select distinct(name), sex from student); 3.truncate table student; 4.insert into student(id,name,sex) select null,name,sex from student_temp; My

mysql 海量数据删除

百度知道 - mysql删除海量数据 MySQL 数据库删除大批量数据的优化 看到这儿的话,最后看下这篇文章,对于操作海量数据的sql深入分析 cnblogs - 深度分析DROP,TRUNCATE与DELETE的区别[我的数据库之路系列] dzh项目海量数据删除实战,看了上面文章,考虑truncate只能删除数据,表没有删掉,我就用了drop 需求,除了dzh_weibo_cache表其余的都要删除 dzh_weibo_cache --2000w dzh_weibo_cache111 --15

MySQL模糊查询:LIKE模式和REGEXP模式

MySQL模糊查询提供了两种模式:LIKE模式和REGEXP模式. LIKE模式 LIKE模式是使用的LIKE 或 NOT LIKE 比较运算符进行模糊查询. SELECT 字段 FROM 表 WHERE 字段 LIKE[NOT LIKE] '条件' 针对条件,有以下几种通配符: 通配符 含义 % 表示任意一个或多个字符,可匹配任意类型和长度的字符 _ 表示任意单个字符,匹配单个任意字符 ESCAPE 关键字定义转义符.在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符. 示例: #