教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 数据库类教程 · Mysql教程

MySQL教学文章之删除或更新现有记录

学院最新推荐文章
教程推荐
『MySQL教学文章之删除或更新现有记录』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2005-7-25 


    1.4.9 删除或更新现有记录
    有时,希望除去某些记录或更改它们的内容。DELETE 和UPDATE语句令我们能做到这一点。
    DELETE 语句有如下格式:
    DELETE FROM tbl_nameWHERE 要删除的记录
    WHERE 子句指定哪些记录应该删除。它是可选的,但是如果不选的话,将会删除所有的记录。这意味着最简单的DELETE 语句也是最危险的。
   DELETE FROM tb1_name
   这个查询将清除表中的所有内容。一定要当心!为了删除特定的记录,可用WHERE 子句来选择所要删除的记录。这类似于SELECT 语
句中的WHERE 子句。例如,为了删除president 表中所有出生在Ohio 的总统记录,可用下列查询:

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

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

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

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

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

    然后意识到忘了设置其会员终止日期。那么可如下进行设置:

    可同时更新多个列。下面的语句将更新Jerome 的电子邮件和通信地址:

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

    正如DELETE 语句一样,对于UPDATE,用SELECT 语句测试WHERE 子句以确保选择正确的更新记录是一个好办法。如果选择条件范围太窄或太宽,就会使更新的记录太少或太多。如果您试验过本节中的查询,那么必定已经删除和修改了samp_db 表中的记录。在继续学习下一节的内容以前,应该撤消这些更改。按1. 4 . 7节“增加新记录”最后的说明重新装载表的内容来完成这项工作。
    1.4.10 改变表的结构
    回顾我们创建历史同盟member 表时缺了一个会员号列,因此我们可以进行一次ALTE RTABLE 语句的练习。需要用ALTER TABLE,可以对表重新命名,增加或删除列,更改列的类型等等。这里给出的例子是关于怎样增加新列的。有关ALTER TABLE 功能的详细内容,请参阅第3章。增加会员号列到member 表的主要考虑是,其值应该是唯一的,以免各会员条目混淆。AUTO_INCREMENT 列在此是很有用的,因为我们可以在增加新的号码时令MySQL自动地生成唯一的号码。在CREATE TABLE 语句中,这样一个列的说明如下:

    对于ALTER TABLE,相应的句法也是类似的。可执行下列查询增加该列:

    我们已经有一个存放会员号的列,现在怎样分配会员号给member 表中的现有记录呢?很容易!MySQL已经做了这项工作。在增加一列到某个表时, MySQL将会用缺省值初始化该列值。对于AUTO_INCREMENT 列,每个行将会产生一个新的顺序号。


 

作者:无 来源:无
】【关闭窗口
·上页:
·下页:
·当前位置: 库库中文网 · 数据库类教程 · Mysql教程
相关文章
     数据库类教程 - Mysql教程
普通教程开源数据库MySQL优化秘籍(1)
普通教程MySQL 5.1正式版准备就绪就要公
普通教程带你随意接触一个检查测试MySQL
普通教程将MySQL迁移到Oracle(一)
普通教程Sun并购MySQL后推出开源数据库完
普通教程Sun宣布已完成对开源数据库MySQ
普通教程MySQL:运用原始代码分发版还是二
普通教程Flex中地MySQL管理(1)
普通教程MySQL数据库地临时文件究竟储存
普通教程解释分析MySQL完全中文化
普通教程增涨MySQL查询效率地三个灵活技
普通教程MySQL占有率不断增加 日下载超五
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光