`
jsjxqjy
  • 浏览: 116901 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

sql 语句练习(2)

阅读更多

删除users表中的重复数据
select distinct * into t from users
truncate table users
insert users select * from t
drop table t

注意:这里说的delete是指不带where子句的delete语句
相同点
truncate和不带where子句的delete, 以及drop都会删除表内的数据
不同点:
1. truncate和 delete只删除数据不删除表的结构(定义)
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.
2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.
truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.
3.delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动
   显然drop语句将表所占用的空间全部释放
   truncate 语句缺省情况下将空间释放到 minextents个 extent,除非使用reuse storage; truncate会将高水线复位(回到最开始).
4.速度,一般来说: drop>; truncate >; delete
5.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及
使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大.
想删除表,当然用drop
想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete.
如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据
通俗的讲:
在实际应用中,三者的区别是明确的。
当你不再需要该表时, 用 drop;
当你仍要保留该表,但要删除所有记录时, 用 truncate;
当你要删除部分记录时(always with a WHERE clause), 用 delete.

<!--v:3.2-->

 

//查处唯一记录到临时表中

select distinct * into t from users
//删除users表所有记录

truncate table users

//把临时表记录插入到users表中 
insert users select * from t

//删除临时表
drop table t

分享到:
评论

相关推荐

    MySQL练习代码, sql语句练习2

    本资料包含的是"SQL语句练习2",旨在帮助用户深入理解和熟练掌握MySQL中的SQL查询语言。 SQL(Structured Query Language),结构化查询语言,是用于管理和处理关系数据库的标准语言。在“SQL语句练习2”中,我们...

    Sql语句练习答案Sql语句练习答案Sql语句练习答案

    Sql语句练习答案Sql语句练习答案Sql语句练习答案Sql语句练习答案Sql语句练习答案Sql语句练习答案Sql语句练习答案Sql语句练习答案Sql语句练习答案

    sql语句练习题(带答案版本)

    这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习

    经典的SQL语句练习

    经典的SQL语句练习

    数据库sql语句练习

    数据库SQL语句练习 本资源旨在通过若干SQL语句练习,帮助读者更好地理解数据库的各项数据操作。下面是相关知识点的详细解释: 1. 关系代数和SQL语言查询 在关系代数和SQL语言中,查询至少选修了一门其直接先行课...

    SQL语句练习题及答案

    SQL语句基本以及加强练习题,基本查询,连接查询,嵌套查询等,基本的修、插、删、改等语句都有,是面试要掌握的基本东西

    sql语句练习题及答案

    sql数据库练习题

    MySQL SQL语句练习题及答案

    MySQL SQL语句练习题及答案 本资源提供了 MySQL SQL 语句的练习题及答案,涵盖了创建表、插入数据、删除数据、更新数据、查询数据等多方面的知识点。 一、创建表 在 MySQL 中,创建表使用 CREATE TABLE 语句。...

    SQL语句练习题

    SQL 语句练习题 本节课练习题目涵盖了 SQL 语句的各种知识点,旨在考察学生对 SQL 语句的掌握程度。练习题目包括关系运算、定义表操作、查询语句操作、表数据操作、视图操作、授权操作、索引操作、匹配操作和触发器...

    3-SQL.rar_sql语句练习

    SQL语句练习、学生可以查看自学SQL相关语句的练习

    SQL语句练习大全

    DDL用来创建数据库中的各种对象,包括数据库模式、表、视图、索引、同义词、聚簇等,它的基本语句有:CREATE DATABASE、CREATE TABLE、CREATE VIEW、CREATE INDEX等。 (4)数据控制语言(DCL) DCL用来授予或回收...

    Sql经典练习题库(附答案)

    它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能,在多数情况...

    全国计算机二级(vf)sql语句练习

    全国计算机二级(vf)sql语句练习 本资源提供了多种SQL语句练习题,涵盖了基本的数据查询、数据归纳、数据排序、数据筛选等操作。每个练习题都提供了明确的需求和相应的解决方案,帮助学生更好地掌握SQL语句的使用...

    实验5 sql语句练习——图书馆数据库.docx

    实验5 sql语句练习——图书馆数据库.docx

    SQL语句练习提高

    结合实例讲述sql语句 是我们能够更好的理解sql的用法 和基本的句式

    SQL语句练习系统

    2. **聚合函数**:在SQL语句练习系统中,你会接触到如COUNT、SUM、AVG、MAX和MIN等聚合函数,它们用于计算一组值的总数、总和、平均值、最大值和最小值。 3. **JOIN操作**:在处理多表数据时,JOIN语句至关重要。...

    最全sql查询语句练习题汇总(面试必备)

    最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习...

    经典sql语句练习

    "经典sql语句练习"这个压缩包提供了一套适合初学者的基础练习题,可以帮助你更好地理解和运用SQL语言。下面,我们将深入探讨SQL的基本概念、常用语句以及它们在实际中的应用。 SQL,全称为结构化查询语言,是用于...

    SQL语句练习册

    《SQL语句练习册》是一本专为程序员设计的实用教程,旨在帮助他们巩固和提升SQL语言技能。SQL,全称Structured Query Language,是用于管理关系数据库的强大工具,广泛应用于数据查询、更新、插入和删除等操作。对于...

Global site tag (gtag.js) - Google Analytics