This Domain(Admin5.com) is for Sale:

My SQL数据库实用技术(05)

时间:2007-12-23  来源:不详  作者:迈克DB
1.4.9 删除或更新现有记录
有时,希望除去某些记录或更改它们的内容。DELETE 和U P D ATE 语句令我们能做到这一点。
DELETE 语句有如下格式:
DELETE FROM t b l _ n a m e WHERE 要删除的记录
WHERE 子句指定哪些记录应该删除。它是可选的,但是假如不选的话,将会删除所有的记录。这意味着最简单的DELETE 语句也是最危险的。
DELETE FROM tb1_name
这个查询将清除表中的所有内容。一定要当心!为了删除特定的记录,可用WHERE 子句来选择所要删除的记录。这类似于SELECT 语
句中的WHERE 子句。例如,为了删除president 表中所有出生在Ohio 的总统记录,可用下列查询:

DELETE 语句中的WHERE 子句的一个限制是只能够引用要删除记录的表中的列。在发布DELETE 语句以前,最好用SELECT 语句测试一下相应的WHERE 子句以确保实际删除的记录就是确实想要删除的记录(而且只删除这些记录)。假如想要删除Te d d yRoosevelt 的记录。下面的查询能完成这项工作吗?

是的,感觉上它能删除您头脑中打算删除的记录。但是,错了,实际上它也能删除Franklin Roosevelt 的记录。假如首先用WHERE 子句检查一下就安全了,如下所示: dedecms.com

现在我们明白了能选择出所需记录的WHERE 子句了,因此DELETE 查询可正确地构造如下:

似乎删除一个记录需要做许多工作,不是吗?但是安全第一!(假如想使键盘输入工作尽量少,可利用拷贝和粘贴技术或采用输入行编辑技术。更具体的信息,请参阅“与m y s q l交互的技巧”一节。)为了修改现有记录,可利用U P D ATE 语句,它具有下列格式:
U P D ATE t b l_n a m e SET 要更改的列WHERE 要更新的记录这里的WHERE 子句正如DELETE 语句一样,是可选的,因此假如不指定的话,表中的每个记录都被更新。下面的查询将每个学生的名字都更改为“ G e o rg e”:

显然,对于这样的查询必须极为小心。一般对正在更新的记录要更为小心。假定近来增加了一个新记录到历史同盟,但是只填写了此实体的少数几个列:

然后意识到忘了设置其会员终止日期。那么可如下进行设置:
织梦内容管理系统
可同时更新多个列。下面的语句将更新Jerome 的电子邮件和通信地址:

还可以通过设置某列的值为N U L L(假设此列答应NULL 值)“不设置”此列。假如在未来的某个时候Jerome 决定支付成为终生会员的会员资格更新费,那么可以设置其记录的终止日期为N U L L(“永久”)以标记他为终生会员。具体设置如下:

正如DELETE 语句一样,对于U P D AT E,用SELECT 语句测试WHERE 子句以确保选择正确的更新记录是一个好办法。假如选择条件范围太窄或太宽,就会使更新的记录太少或太多。假如您试验过本节中的查询,那么必定已经删除和修改了samp_db 表中的记录。在继续学习下一节的内容以前,应该撤消这些更改。按1 . 4 . 7节“增加新记录”最后的说明重新装载表的内容来完成这项工作。

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息