专业只做数据库实训和认证的品牌机构

微信公众号新浪微博
免费咨询电话:400-0909-964
当前位置: 网站首页 > MySQL培训 > MySQL课程 > MySQL培训教程:删除数据命令

MySQL培训教程:删除数据命令

文章来源: 更新时间:2016/7/15 14:41:10

在线老师点击咨询:

最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!

我要咨询

MySQL培训教程:删除数据命令,可以使用DELETE语句删除指定的数据行。例如,因为我们已决定不再出售《HarryPotter》(哈里波特)的系列作品,于是从books表中删除了作者为J.K.Rowling的所有图书记录,我们可以输入下列语句完成这项工作:

  1. DELETE FROM books   
  2. WHERE author_id =   
  3. (SELECT authors.author_id FROM authors   
  4. WHERE author_last = 'Rowling'   
  5. AND author_?rst = 'J. K.');   
  6. DELETE FROM authors  
  7. WHERE author_last = 'Rowling' 
  8. AND author_?rst = 'J. K.'

在这里,我们仅从books表中删除了一行记录,该行的作者标识码为从authors表中获取的任意值,这个值基于指定的作者姓名。也就是说,author_id必须是由SELECT语句返回的任意值,圆括号中的是子查询语句。MySQL4.1版本或更新的版本支持语句中的子查询操作。如果你想使用早期的MySQL版本删除上面的数据,需要将圆括号中的SELECT语句单独执行(而不是作为子查询语句执行)来获取作者的标识码,然后再运行第一行的DELETE语句,在语句的结尾处将附加的SELECT语句手工替换成作者标识码。

你也可以使用用户自定义变量替换上面的SQL语句。下面是使用用户自定义变量的示例:

  1. SET @potter =   
  2. SELECT author_id FROM authors   
  3. WHERE author_last = 'Rowling'   
  4. AND author_?rst = 'J. K.');   
  5. DELETE FROM books  
  6. WHERE author_id = @potter;  
  7.  
  8. DELETE FROM authors  
  9. WHERE author_id = @potter; 

在第一部分,本书使用SET语句创建一个名为@potter的变量,并将括号中的SELECT语句作为值赋给此变量。顺便提及,尽管MySQL4.1以及以前的版本不支持子查询,但支持用户自定义变量。第二条SQL语句从books表中删除一行记录,该行的作者标识码与临时变量中的值相同。下面仍旧使用临时变量从authors表中删除数据。MySQL在关闭会话或对变量重新赋值以前,可以一直使用用户自定义变量。

本文地址:http://www.cuug.com.cn/mysql/kecheng/12481449480.html 转载请注明!


在线预约 抢先报名 获取课程排期

Oracle培训机构

金牌讲师<>

冉乃纲-老师CUUG金牌讲师
冉老师 CUUG金牌讲师 Oracle及RedHat高级讲师、Unix/Linux 资深专家...[详细了解老师]

免费咨询上课流程 客服在线中

陈卫星-老师CUUG金牌讲师
陈老师 CUUG金牌讲师 精通Oracle管理、备份恢复、性能优化 11年Ora...[详细了解老师]

免费咨询上课流程 客服在线中

选学校如何选择适合自己的学校

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。多年来,以提高教学质量为本,强调素质教育,积极引进、消化国外的新技术,有效的结合中国....[详情]

一站式服务(从入学到就业一帮到底)

入学

学习

就业

实操

食宿
地址:北京市海淀区北清路164号28-38号院
课程咨询:010-59426307 010-59426319 400-0909-964
企业服务:137 1818 8639(陈经理)
部分信息来源于网络,如有错误请联系指正!
版权所有@北京神脑资讯技术有限公司 (CUUG,中国UNIX用户协会) Copyright 2016 ALL Rights Reserved 京ICP备11008061号-1