知识大全 删除数据-DELETE语句(1)

Posted 语句

篇首语:早晨要撒你种,晚上也不要歇你手。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 删除数据-DELETE语句(1)相关的知识,希望对你有一定的参考价值。

SQL实战新手入门:删除数据-DELETE语句(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   删除数据 DELETE语句( )

  删除不需要的信息与一开始时录入这些信息同等重要 在LIBRARY数据库的例子中 可能丢失或出售了一本图书 那么这本图书的信息也就无须再保存在数据库中 SQL提供了DELETE语句用于处理删除记录的情形 要删除一个表中的所有记录 可以使用下面的语句

  DELETE FROM myLibrary;

  在一些RDBMS中 无须使用FROM关键字 只需要给出表名即可 但某些RDBMS则坚持要求使用FROM关键字 执行上面的DELETE语句之后 表中的记录将被全部删除 在数据库中只剩下一个空表 读者可以从 wrox 或者 agilitator 下载相同的INSERT脚本 重新填充表中的记录

  删除的记录还可以恢复吗?这要视情况而定 为了取消对RDBMS中数据执行的操作 必须在一个事务上下文中执行所有操作 最后 要么提交所有的更改(使之永久化) 要么回滚这些操作(将数据恢复为初始状态) 第 章将讨论关于事务支持的问题

  如果将DELETE语句与之前介绍过的WHERE子句结合 就可以使删除操作具有更多的选择性 要删除特定的记录集合 只需要在WHERE子句中定义删除记录的标准 下面的查询将不加区分地删除满足WHERE子句中删除条件的所有记录

  DELETE FROM myLibrary

  WHERE publisher = Wiley ;

  执行上面的DELETE语句之后 将删除表中所有由Wiley出版社出版的图书 但这也许并不是我们需要的操作 如何才能从表中成百上千的记录中删除一条特定的记录呢?这就需要指定一组匹配条件 使得满足所有条件的记录在表中是唯一的 例如下面的例子

  DELETE FROM myLibrary

  WHERE publisher = Wiley AND pages = ;

  这样的筛选条件一定是唯一的吗?实际上 尽管可能性不大 但对于一个较大的数据库来说 存在一条以上的记录同时满足以上两个条件也并非不可能 更好的办法是使用ISBN号 因为它是唯一的

  DELETE FROM myLibrary

  WHERE isbn= ;

  如果记录中不存在一个可作为唯一标识的标志 又该如何处理呢?有其他几种办法可以确保一条记录在表中的唯一性(请参见第 章和第 章) 但这里先介绍一个特殊列的概念 与其他列相比 特殊列的作用是唯一地标识表中的一条记录 也称为主键 假如在将记录输入到表中时已经对这些记录进行了编号 那么这些编号就是引用特定记录的一个简便的办法 假如特殊列不允许出现重复的编号 那么在删除单条记录时就不存在歧义 遗憾的是 定义这样的列需要修改表的结构

  试一试删除表中的记录

  下面将删除Microsoft SQL Server 创建的表中的某些记录 请先重复本章第一个 试一试 练习中步骤( )到步骤( )的操作 以便为输入并执行SQL命令做好准备工作

  ( ) 下面的查询将删除MYLIBRARY表中的所有记录

  USE library;

  DELETE myLibrary

  ( row(s) affected)

  ( ) 单击位于上方工具栏中的Execute按钮 如之前的图 所示

  ( ) 重新插入下面的记录

  USE library;

  INSERT INTO myLibrary (title author book_language publisher pages author

   publish_date isbn)VALUES ( SQL Bible Alex Kriegel English Wiley

   Boris M Trukhnov April )

  INSERT INTO myLibrary(title author book_language publisher pages publish_date

  isbn) VALUES ( Microsoft SQL Server Weekend Crash Course Alex Kriegel

   English Wiley October )

  INSERT INTO myLibrary(title author book_language publisher pages publish_date

  isbn) VALUES ( Mindswap Robert Sheckley English Orb Books May

   )

  INSERT INTO myLibrary(title author book_language publisher pages publish_date

  isbn) VALUES ( Jonathan Livingston Seagull Richard Bach English MacMillan

   )

  INSERT INTO myLibrary(title author book_language publisher pages publish_date

  isbn) VALUES ( A Short History of Nearly Everything Bill Bryson

   English Broadway October )

       返回目录 SQL实战新手入门

       编辑推荐

       Oracle索引技术

       高性能MySQL

cha138/Article/program/SQL/201311/16480

相关参考

知识大全 oracle数据库删除数据Delete语句和Truncate语句的使用比较

oracle数据库删除数据Delete语句和Truncate语句的使用比较  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我

知识大全 Oracle数据库删除语句DELETE的一般性用法

Oracle数据库删除语句DELETE的一般性用法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Oracle数据被删除(delete,drop)之后的恢复方式

Oracle数据被删除(delete,drop)之后的恢复方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 联合删除两张表的数据

  大家都知道DELETE后面不能跟多张表但有时删除数据时要同时维护多张表的数据这怎么办呢?  假设AB两张表它们通过ID进行关联A表中有时间字段而B表中没有现根据时间段删除数据  SQL  以下是引

知识大全 LINQ to SQL语句之Insert/Update/Delete操作

LINQtoSQL语句之Insert/Update/Delete操作  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 教你学会truncate和delete的区别

  一delete产生rollback如果删除大数据量的表速度会很慢同时会占用很多的rollbacksegmentstruncate是DDL操作不产生rollback速度快一些    Truncate

知识大全 asp rs.open 参数1,2,3详解

  读取数据都是用rsopensqlconn  修改数据:rsopensqlconn  删除数据:直接要connexecute("delete*fromnewwhereid=")这样的  rsopen

知识大全 数据库设计三大范式应用实例剖析

  引言  数据库的设计范式是数据库设计所需要满足的规范满足这些规范的数据库是简洁的结构明晰的同时不会发生插入(insert)删除(delete)和更新(update)操作异常反之则是乱七八糟不仅给数

以上各项如果为真,则下列哪项一定为真

以上各项如果为真,则下列哪项一定为真?A、保留语句e并且删除语句dB、同时保留语句d和语句eC、保留语句e并且删除语句bD、同时删除语句b和语句f答案:D解析:由(4)和(1)得,保留语句d和c;保留

知识大全 数据结构之顺序表上基本运算的实现[16]

  w=josephus_seq>data[s];  printf(%d\\tw)  Delete_SeqList(josephus_seqs+);/*删除出列元素*/  /*for*/  re