接着上一篇,这篇介绍高级更新操作。
更新
基本语法:update 表名set 字段= 值 [where条件];
高级新增语法:update 表名set 字段= 值 [where条件][limit更新数量];
举例:新建一个表,数据如下
需求:把name表前三个记录改成“Anthony”,也就是前面的A B C都要改成Anthony. 这个时候就需要用到高级更新中的limit关键字,这个关键字以后还会具体学习。
上面的写法不严谨,没有使用where 语句,例如下面使用where语句,把name为Anthony的值改成Tom。
上面我们前三个刚好都是Anthony,所以都改成了Tom,如果在列表E后面还有Anthony,而且limit设置5,那么只要前五条记录值为Anthony,都会改成Tom。
删除数据
与更新类型:可以通过limit来限制数量。
语法:delete from 表名 [where条件][limit数量];
举例:
为了方便删除操作,我们这里在上面表基础上新增一部分数据。
上面有6个Tom,下面介绍用limit删除5个Tom
上面显示删除了前面5个Tom,第六个并没有删除。
第二种删除场景:如果表中存在主键自增长,那么当删除之后,自增长不会还原。
举例:创建一个学生表,其中ID是主键并且自增长。
插入数据
问题如下:发现删除之后,自增长没有变化。
解决办法:
数据的删除是不会改变表结构,只能删除表后重新创建一个表。
语法:truncate 表名;
这种方式不经常用,因为业务数据都是有价值的,这种truncated过来的表是没有数据的。