精华内容
下载资源
问答
  • A包含几个字段,Key,NO,Year等 现在需要删除,满足Key和NO字段完全相同的记录。需求是所有记录满足条件的记录都删除,不需要保留一条
  • 例如 tbshow idno entdt 205073001 2009-07-07 205073001 2006-05-08 205073001 2003-08-14 想删除剩下最近一条记录  5073001 2009-07-07 得怎么写语句 ? 
  • --查出字段约束名 select b.name from syscolumns a,sysobjects b where a.id=object_id('Edu_Discount') and b.id=a.cdefault and b.name like 'DF%' --删除约束 alter table Edu_Discount DROP CONSTRAINT --DF...

    --查出字段约束名

    select b.name
    from syscolumns a,sysobjects b
    where a.id=object_id('Edu_Discount')  and b.id=a.cdefault  and b.name like 'DF%'

    --删除约束

    alter table Edu_Discount DROP CONSTRAINT --DF__Edu_Disco__Is_Re__45F6932F

    --删除字段
    alter table Edu_Discount DROP COLUMN is_Refund

    转载于:https://www.cnblogs.com/360S/archive/2011/09/15/2177171.html

    展开全文
  • oracle--删除表中指定字段重复

    千次阅读 2006-04-08 22:56:00
    tbl表中有两个字段:name,pricecreate table tbl(name,varchar2(20),price number(10));delete from tbl where rowid not in(select max(t1.rowid) from tbl t1 group by t1.price);虽然删除了指定字段中重复的,但...

    tbl表中有两个字段:name,price
    create table tbl(name,varchar2(20),price number(10));

    delete from tbl where rowid not in(select max(t1.rowid) from tbl t1 group by t1.price);

    虽然删除了指定字段中重复的值,但会为其保留最后一个值,也就是说,如果字段中有n条重复的,则第n个将被保留.

    展开全文
  • 在数据库含有脏数据的时候很好用,也要小心,因为是删除和修改操作!!!import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; import java....

    自己封装的数据库工具操作类。在数据库含有脏数据的时候很好用,也要小心,因为是删除和修改操作!!!

    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Arrays;
    import java.util.List;
    
    import org.apache.log4j.Logger;
    
    import com.jfinal.plugin.activerecord.Db;
    
    /**
     * @author 黄宝康
     */
    public class DbHelper {
        static Logger logger = Logger.getLogger(DbHelper.class);
    
        /**
         * @param conn
         *            数据库连接
         * @param field
         *            字段名称
         * @param value
         *            字段的值
         * @param domain
         *            数据库
         * @param exculdeTables
         *            排除删除该表相应记录 功能:删除数据库中所有表中含有该字段,并且记录中该字段的值为XXX
         *            exculdeTables传递null则删除所有
         * @return
         */
        public static void deleteAllLikeFieldFromDb(Connection conn, String field, String value, String domain, String exculdeTables[]) {
            try {
                DatabaseMetaData metaData = conn.getMetaData();
                ResultSet rs = metaData.getTables(null, metaData.getUserName(), null, new String[] { "TABLE" });// 获取到所有表
                while (rs.next()) {
                    String tableName = rs.getString("TABLE_NAME");
                    if (exculdeTables != null) {
                        List<String> excludeLists = Arrays.asList(exculdeTables);
                        if (excludeLists.contains(tableName.toLowerCase())) {
                            continue;
                        }
                    }
                    ResultSet columns = metaData.getColumns(conn.getCatalog(), metaData.getUserName(), tableName, null);// 获取到所有列
                    while (columns.next()) {
                        if (columns.getString("COLUMN_NAME").equals(field.toUpperCase())) {// 说明该表字段中含有该列
                            String sql = "delete from " + tableName + " where " + field.toUpperCase() + " = ?";
                            Db.use(domain + "_w").update(sql, value);
                            logger.info("删除" + tableName + "表中字段名" + field.toUpperCase() + "=" + value + "的所有记录成功!");
                            break;
                        }
                    }
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    
        // 把之前数据库表中该字段的值为xxxx改成新的值
        public static void updateAllLikeFieldFromDb(Connection conn, String field, String oldValue, String newValue, String domain,
                String exculdeTables[]) {
            try {
                DatabaseMetaData metaData = conn.getMetaData();
                ResultSet rs = metaData.getTables(null, metaData.getUserName(), null, new String[] { "TABLE" });// 获取到所有表
                while (rs.next()) {
                    String tableName = rs.getString("TABLE_NAME");
                    if (exculdeTables != null) {
                        List<String> excludeLists = Arrays.asList(exculdeTables);
                        if (excludeLists.contains(tableName.toLowerCase())) {
                            continue;
                        }
                    }
                    ResultSet columns = metaData.getColumns(conn.getCatalog(), metaData.getUserName(), tableName, null);// 获取到所有列
                    while (columns.next()) {
                        if (columns.getString("COLUMN_NAME").equals(field.toUpperCase())) {// 说明该表字段中含有该列
                            String sql = "update " + tableName + " set " + field.toUpperCase() + " = ? where " + field.toUpperCase() + " = ?";
                            Db.use(domain + "_w").update(sql, newValue, oldValue);
                            logger.info("修改"+tableName+"表字段"+field.toUpperCase()+"所有为"+oldValue+"的值设为"+newValue+"成功!");
                            break;
                        }
                    }
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    /*
     * 第一个是数据库名称,对于MySQL,则对应相应的数据库,对于Oracle来说,则是对应相应的数据库实例,可以不填,
     * 也可以直接使用Connection的实例对象中的getCatalog()方法返回的值填充;
     * 第二个是模式,可以理解为数据库的登录名,而对于Oracle也可以理解成对该数据库操作的所有者的登录名
     * 。对于Oracle要特别注意,其登陆名必须是大写,不然的话是无法获取到相应的数据,而MySQL则不做强制要求。
     * 第三个是表名称,一般情况下如果要获取所有的表的话,可以直接设置为null,如果设置为特定的表名称,则返回该表的具体信息。
     * 第四个是类型标准,以数组形式传值,
     * 有"TABLE"、"VIEW"、"SYSTEM TABLE"、"GLOBAL TEMPORARY"、"LOCAL TEMPORARY"、"ALIAS" 和
     * "SYNONYM"这几个经典的类型,一般使用”TABLE”,即获取所有类型为TABLE的表
     * 它返回一个ResultSet对象,有10列,详细的显示了表的类型: TABLE_CAT String => 表类别(可为 null)
     * TABLE_SCHEM String => 表模式(可为 null) TABLE_NAME String => 表名称 TABLE_TYPE String
     * => 表类型。 REMARKS String => 表的解释性注释 TYPE_CAT String => 类型的类别(可为 null)
     * TYPE_SCHEM String => 类型模式(可为 null) TYPE_NAME String => 类型名称(可为 null)
     * SELF_REFERENCING_COL_NAME String => 有类型表的指定 "identifier" 列的名称(可为 null)
     * REF_GENERATION String
     */
    展开全文
  • 方法一: update 表名 set 字段名=NULL 方法二: update 表名 set 字段名='' 转载于:https://www.cnblogs.com/LceMeaning/p/3415711.html

    方法一:

    update 表名 set 字段名=NULL

    方法二:

    update 表名 set 字段名=''


     

    转载于:https://www.cnblogs.com/LceMeaning/p/3415711.html

    展开全文
  • 1.批量修改以xxx为前缀名的表名declarebeginfor vcur in (select t.TABLE_NAMEfrom user_tables twhere t.TABLE_NAME like 'xxx_%') loopexecute immediate 'drop table '...2.批量修改一张表中以xxx开头的字段d...
  • 我有一张游戏桌,描述如下: +---------------+-------------+------+-----+---...我是否可以使用一条sql语句根据相同的日期,时间,hometeam_id,awayteam_id,locationcity和locationstate字段浏览并删除所有重复项?
  • 比如现在有一人员(表名:peosons) 若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来 select p1.* from persons p1,persons p2 where p1.idp2.id and p1.cardid = p2.cardid and p1.pname = p2.pname...
  • 最近在查hive版本问题,发现在hive1.1.0和hive1.2.1上,分区新增字段后新增字段值为空的情况。网上查了资料,提供了两种解决办法: 1.修改元数据 修改hive元数据SDS的CD_ID字段,原因是修改结构后,元...
  • zsgoods的Image0字段前6位字符串面删除,然后将新的字符串重新放到Image0字段中 update zsgoods set Image0 = substring(Image0,6) ;  删除前:html/Image/mrtp/196152810.png 删除后:Image/mrtp/...
  • 利用oracle rownum让排序字段值连续 1、需求说明 (eval_index)有字段如下: 表字段 描述 说明 ID 主键 GROUP_ID 分组编号 SORT_NUM 排序序号 按照分值编号并排序:1、2、 由于删除或其他操作,导致sort_num序号...
  • 1 查询重复 SELECT * FROM Hb_Students WHERE studentId IN (SELECT studentId FROM Hb_Students GROUP BY studentId HAVING count(studentId )>...2 删除重复 -- 创建临时 CREATE TEMPORA...
  • Oracle删除表、修改表(添加字段、修改字段、删除字段)语句总结 1、删除表: delete from 表名; delete删除数据是一条一条的删除数据,后面可以添加where条件,不删除表结构。注意:如果表中有identity产生的自增...
  • v_expense VARCHAR2(200); v_tableName VARCHAR2(100);... -- 获取当前数据库的所有 CURSOR TABLE_LOOP IS SELECT Table_name FROM User_tables; -- 获取某中得所有字段 CURSOR COL_LOOP
  • 如果删除字段,可以将所有清空: UPDATE table_name SET field_name = ‘’; 如果删除字段(这个字段从此就没有了): ALTER TABLE qishu_books_sort01 DROP COLUMN Novel_text; 查看删除之前的结构的命令:...
  • 下面以PHP代码为例删除"Persons" 表中所有LastName='Griffin' 的记录:在这次删除之后,表是这样的: 修改表中数据语法:update 表名set 字段=新,... where 条件mysql> update MyClass set name='Mary' where ...
  • 一开始建表时候没注意精度问题,后来需求中要求保留三位小数(之前两位),在有数据情况下不能直接使用alter解决思路:先在该表中新增一个临时字段,将之前是需要修改的字段赋给临时字段,然后删除需要修改的字段...
  • 1.根据bqyId分组并统计数量,$group只会返回参与分组的字段,使用$addToSet在返回结果数组增加_id字段 2.使用$match匹配数量大于1的数据 3.doc.uniqueIds.shift();表示从数组第一个开始删除;作用是踢除重复数据...
  • 在实际的业务中,可能已存在的表中添加新的字段值,MySQL允许在表的开头、中间和结尾添加字段在开头添加字段:MySQL默认在表的最后添加字段,乳沟希望在开头位置(第一列前)添加字段,那么可以使用FIRST关键字,语法...
  • select * from menus where parentid = 300 group by menuname having count(id)>1; 查询表里某个字段有重复
  • student表中有name的重复,删除掉name中重复 select distinct name from student distinct的具体用法详情见: https://www.cnblogs.com/leonlee/p/6042461.html  
  • 现在表中有少量重复数据和大量非重复数据。重复数据中,preference列和timestamp列不为空的这些,需要保留;preference列和timestamp列为空的这些需要删除,应该怎么办?初学者,希望答案详细:) 感激不尽+----------...
  • 首先介绍一下TRUNCATE关键字的意义 <br /> TRUNCATE TABLE TableName是一种快速的,无日志记录的,删除表中所有记录的方法。 <br />2.TRUNCATE和DELETE的区别 <br /> TRUNCATE TABLE在功能上与不带...
  • 2.批量修改一张表中以xxx开头的字段 declare  b varchar2(35);  begin  for i in (select idx_code from rplm_index_lib where dr!='1') loop  b := 'ZBK01_'||substr(i.idx_code,12,4);  update ...
  • 数据库有个大,需要查找其中的名字有重复的记录id,以便比较。如果仅仅是查找数据库name不重复的字段,很容易: SELECT min(`id`),`name` FROM `table` GROUP BY `name`; 但是这样并不能得到说有重复字段的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,468
精华内容 987
关键字:

删除表中字段值