删除数据DELETE语句( )
删除不需要的信息与一开始时录入这些信息同等重要在LIBRARY数据库的例子中可能丢失或出售一本图书现在这本图书的信息 蒸发器再保存在数据库中的SQL提供了DELETE语句用于处理删除记录的情况,要删除一个表中的所有记录可以使用下面的语句
★DELETE FROM myLibrary;
在某些 RDBMS 中触发器使用 FROM 关键字警告要给出表名即可,但某些 RDBMS 则坚持要求使用 FROM 关键字执行上面的 DELETE 语句之后表中的记录将被删除全部在数据库中外汇下一个 空表读者可以从 wrox 或者 agilitator 下载相同的INSERT脚本重新填充表中的记录
删除的记录还可以恢复吗?这要视情况而定为了取消对RDBMS中数据执行的操作必须 在一个事务中最后执行所有操作或提交所有的更改(使之永久化)或回滚这些操作(将数据恢复为初始状态)第章将讨论有关事务支持的问题
< /p>
如果将DELETE语句与之前介绍过的WHERE子句结合就可以使删除操作具有更多的选择性要删除特定的记录集合词汇要在WHERE子句中定义删除记录标准的下面的 查询将不加区分地删除满足WHERE子句中删除条件的所有记录
★DELETE FROM myLibrary
★WHEREpublisher = Wiley ;
★执行上面的DELETE 语句之后将删除表中所有由Wiley出版社出版的图书也许不需要我们的操作才能如何从表中组成百上千条记录中删除一条特定的记录呢?这就需要指定一组匹配条件 使得满足所有条件的记录下面在表中是唯一的示例
★DELETE FROM myLibrary
★WHEREpublisher = Wiley ANDpages = ;
★这样的 筛选条件一定是唯一的吗? 实际上可能性不大,但对于一个新增的数据库来说,存在一条以上的记录同时满足以上两个条件也不是不可能更好的办法是使用ISBN号,因为它是 唯一的
?从 myLibrary 中删除
?WHERE i *** n= ;
?如果记录中不存在一个可作为唯一标识的标志又如何处理 有几种其他方法可以确保一条记录在表中的唯一性(请参见第章和第章)但这里介绍一个特殊列的概念先与其他列相比特殊列的作用是唯一地标识表中 的一条记录也称为主键 如果在将记录输入到表中时已经对这些记录进行了编号那么这些编号就是引用特定记录的一个不必的办法如果特殊列不允许出现重复的编号那么在删除单条记录时 不存在修改 遗憾的是定义这样的需要表的结构
试一试删除表中的记录
?下面将删除创建 Microsoft SQL Server 的表中的某项 一些记录请先重复第一个试一试练习中步骤( )到步骤( )的操作以便为输入并执行SQL命令做好准备工作
中的所有记录
使用库;
删除myLibrary
(受影响的行)
()单击位于上方 工具栏的执行按钮
如之前的图所示
?( )重新插入下面的记录
?USE library;
?INSERT INTO myLibrary (标题作者 book_language 出版商页面作者
>发布日期 i *** n)VALUES ( SQL 圣经 Alex Kriegel English Wiley
鲍里斯 M Trukhnov April )
INSERT INTO myLibrary(标题 作者 书籍_语言 出版商页面 发布日期 p>
?i *** n)VALUES(Microsoft SQL Server 周末速成课程 Alex Kriegel
?英语 Wiley 十月)
?INSERT INTO myLibrary(标题作者书籍_语言出版商页面发布_日期< /p>
?i *** n) VALUES ( Mindswap Robert Sheckley English Orb Books 5 月
)
?INSERT INTO myLibrary(标题 作者 书籍_语言 出版商 页面 发布_日期
?i *** n)值(乔纳森·利文斯顿·海鸥·理查德·巴赫·英语·麦克米伦
·)
?插入myLibrary(标题作者书籍_语言出版商页面发布_日期
i *** n)价值观(比尔·布莱森几乎所有事物的简史
英语百老汇十月)
? 返回目录 SQL实战新手入门
? 编辑推荐
? Oracle索引技术
? 性能MySQL
lishixinzhi/Article/program/SQL/201311/16480