精华内容
下载资源
问答
  • 删除数据库中重复记录的SQL语句(转) 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢? 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from...

    删除数据库中重复记录的SQL语句(转)

    在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢?

    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
    select * from people
    where peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1)

    2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
    delete from people 
    where peopleId  in (select  peopleId  from people  group  by  peopleId   having  count(peopleId) > 1)
    and rowid not in (select min(rowid) from  people  group by peopleId  having count(peopleId )>1)

    3、查找表中多余的重复记录(多个字段) 
    select * from vitae a
    where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq  having count(*) > 1)

    4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
    delete from vitae a
    where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

    5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
    select * from vitae a
    where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

    展开全文
  •  删除数据库USE 库名;(1) 数据记录筛选:sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" ORDER BY 用于对结果集进行排序sql="select * from 数据表 where 字段名 like '%字段值%' ord...

    SQL常用语句:

    CREATE DATABASE 库名;创建数据库

    DROP DATABASE库名;  删除数据库

    USE 库名;

    (1) 数据记录筛选:

    sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"  ORDER BY 用于对结果集进行排序

    sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"  LIKE 用于在 WHERE 子句中搜索列中的指定模式。

    sql="select * from 数据表 where 字段名 not like '%字段值%' order by 字段名 [desc]"  NOT 用于在select数据时,查询不在哪一个数据范围的的记录

    sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"  TOP 用于规定要返回的记录的数目。

    sql="select * from 数据表 where 字段名 in ('值1','值2','值3')"  IN确定给定的值是否与子查询或列表中的值相匹配。

    sql="select * from 数据表 where 字段名 between 值1 and 值2"  BETWEEN ... AND...  会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

    (2) 更新数据记录:

    sql="update 数据表 set 字段名=字段值 where 条件表达式"

    sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"

    (3) 删除数据记录:

    sql="delete from 数据表 where 条件表达式"

    sql="delete from 数据表" (将数据表所有记录删除)

    (4) 添加数据记录:

    sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"

    sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)

    (5) 数据记录统计函数:

    AVG(字段名)得出一个表格栏平均值

    SELECT AVG(column_name) FROM table_name

    COUNT(*¦字段名) 对数据行数的统计或对某一栏有值的数据行数统计

    SELECT COUNT(column_name) FROM table_name

    MAX(字段名) 取得一个表格栏最大的值

    SELECT MAX(column_name) FROM table_name

    MIN(字段名) 取得一个表格栏最小的值

    SELECT MIN(column_name) FROM table_name

    SUM(字段名) 把数据栏的值相加

    SELECT SUM(column_name) FROM table_name

    (6) 数据表的建立和删除:

    创建:

    CREATE TABLE 数据表(字段1 类型1(长度),字段2 类型2(长度) …… )

    例:CREATE

    TABLE classTab(name varchar(50),datetime default now())

    删除:

    DROP TABLE 数据表           删除内容和定义,释放空间(清空表)

    TRUNCATE TABLE 数据表  删除内容、释放空间但不删除定义(清空表数据, 不能删除行数据)

    DELETE TABLE 数据表   删除内容不删除定义,不释放空间(系统一行一行地删,效率较truncate低)

    关于truncate的总结:

    truncate table在功能上与不带WHERE子句的delete语句相同:二者均删除表中的全部行。

    但truncate比delete速度快,且使用的系统和事务日志资源少。

    delete语句每次删除一行,并在事务日志中为所删除的每行记录一项。所以可以对delete操作进行roll back

    1、truncate在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令Delete将被撤销,而truncate则不会被撤销。2、truncate是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对truncate使用ROLLBACK命令。3、truncate将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过truncate操作后的表比Delete操作后的表要快得多。4、truncate不能触发任何Delete触发器。5、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。6、不能清空父表

    展开全文
  • 网站数据库种马数据库中很多表存在大量相同记录经高人指点删除相同记录(仅保留一个)的SQL语句如下declare @tmptb TABLE ( [ID] [int] NOT NULL , [SortName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL , ...

    网站数据库种马

    数据库中很多表存在大量相同记录

    经高人指点删除相同记录(仅保留一个)的SQL语句如下

    declare @tmptb TABLE (
     [ID] [int] NOT NULL ,
     [SortName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
     [SortNote] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
     [ParentID] [int] NULL ,
     [SortPath] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,
     [Other] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
    )

    insert into @tmptb select distinct * from 表名

    delete from 表名

    insert into 表名 select * from @tmptb

     

     

    展开全文
  • 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复呢?  思考:如何仅有部分字段重复,如何查找所有记录,重复记录只显示一遍??1、查找表中多余重复记录,重复记录是根据单个字段(peopleId)来...

    参考URL:http://qinya.iteye.com/blog/677306

     

    在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢? 

    思考:如何仅有部分字段重复,如何查找所有记录,重复记录只显示一遍??

    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 

    Java代码  收藏代码
    1. select * from people  
    2. where peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1)  


    2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 
    Java代码  收藏代码
    1. delete from people   
    2. where peopleId  in (select  peopleId  from people  group  by  peopleId   having  count(peopleId) > 1)  
    3. and rowid not in (select min(rowid) from  people  group by peopleId  having count(peopleId )>1)  


    3、查找表中多余的重复记录(多个字段) 
    Java代码  收藏代码
    1. select * from vitae a  
    2. where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq  having count(*) > 1)  

    4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录 
    Java代码  收藏代码
    1. delete from vitae a  
    2. where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)  


    5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录 
    Java代码  收藏代码
    1. select * from vitae a  
    2. where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)  
    展开全文
  • 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复呢? 1、查找表中多余重复记录,重复记录是根据单个字段(peopleId)来判断 [code="java"]select * from people where peopleId in...
  • 用下边的sql语句就可以一次完成多条记录的删除 Code deletefromtableNamewhereidin(10,36,29,38) 如上就可以删除存在的记录编号为10,36,29,38的记录. 转载于:https://www.cnblogs.com/rai...
  • 删除临时表 代码如下 drop table detailtemp1@ --end 另外再分享几种办法 2、DB2删除重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 代码如下 delete from people where peopleId in ...
  • 几个删除重复记录的SQL语句 在大多数的数据库应用中,经常因为各种原因遇到重复的记录,造成数据的冗余和维护上的不便。1.用rowid方法2.用group by方法3.用distinct方法 1。用rowid方法据据oracle带的rowid属性...
  • 删除的几种方法: (1)通过建立临时表来实现 SQL>create table temp_emp as (select distinct * from employee) SQL> truncate table employee; (清空employee表数据) SQL> insert into employee ...
  • 可以去除数据库中重复记录的SQL语句
  • 最简单删除SQL Server中所有数据方法原文:最简单删除SQL Server中所有数据方法最简单删除SQL Server中所有数据方法 编写人:CC阿爸 2014-3-14 其实删除数据库中数据方法并不复杂,为什么我还要多此一举呢,...
  • 30种mysql优化sql语句查询方法_计算机软件及应用_IT/计算机_专业资...简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份 sql server --...
  • 分享下用sql语句删除数据库中重复记录的方法。 https://www.iteye.com/blog/joy-xiaoboy-2104544 比如现在有一人员表 (表名:peosons) 若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来 select p1.* ...
  • 1.数据库,简单的理解为硬盘上的文件,可以存放数据2.针对数据库database好表table的操作*创建create*查看show*修改alter*删除drop3.创建一个数据库create database mydb;...7.针对表中的记录的操作...
  • 怎样用sql语言删除一行数据在SQL数据库删除记录一般使用Delete语句,下面就将为您介绍SQL中用于删除记录的DELETE语句的语法DELETE FROM 表名称 WHERE 列名称 = 值①将数学系全体学生的成绩删除 。执行语句:操作...
  • 学会数据库是很实用D~~记录一些常用的sql语句...有入门有提高有见都没见过的...好全...收藏下...其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好事...以后数据方面的东西就不用在程序里搞喽..而且...
  • 几个删除重复记录的SQL语句 在大的数据库应用中,经常因为各种原因遇到重复的记录,造成数据的冗余和维护上的不便。 1.用rowid方法 2.用group by方法 ...
  • delete fromtableName where 1=1 转载于:https://www.cnblogs.com/enterBeijingThreetimes/archive/2008/08/25/1276072.html
  • 分享下用sql语句删除数据库中重复记录的方法。比如现在有一人员表 (表名:peosons) 若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来select p1.* from persons p1,persons p2 where p1.id<&...
  • 数据库数据库简介:SQL DML 和 DDL可以把 ...但是 SQL 语言也包含用于更新、插入和删除记录的语法。查询和更新指令构成了 SQL 的 DML 部分:SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE ...
  • 找出相同的记录,然后删除id号小那个记录,例如:删除octopus_page_page表中keyWord相同的记录中id号小那条记录   create table tmp as select min(id) as col1 from octopus_page_page group by `...
  • Java数据库 1.3 SQL 语句

    2021-01-14 07:08:20
    SQL 语句概述SQL 语句分类SQL 通用语法DDL 之数据库操作: database查看数据库删除数据库使用数据库DDL 之表操作: table创建表查看表删除表修改表结构格式DML 数据操作语言插入表记录: insert更新表记录: update删除...
  • DDL:数据定义语言(创建、删除、数据库和表操作) CREATE:创建数据库和表等对象 DROP:删除数据库和表等...ROLLBACK:撤销sql语句的执行结果 DML:数据操纵语言(查询、变更表中的记录) SELECT:查询表...

空空如也

空空如也

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

删除数据库记录的sql语句