MySQL中UPDATE与DELETE语句的使用教程
update 更新
update set 语法用于修改更新数据表中的数据。
语法:
update tb_name set column1 = new_value1,column2 = new_value2,… where definition
该语法将数据表中符合 where 条件的记录中的 column1 的值更新为 new_value1,column2 的值更新为 new_value2 ,以此类推。如果省略 where 条件,则会将表中所有记录的 column 值进行更新。
例子:
<?php $conn = @mysql_connect("localhost","root","root123"); if (!$conn){ die("连接数据库失败:" . mysql_error()); } mysql_select_db("test", $conn); mysql_query("set names 'gbk'"); $sql = "update user set email = 'xiaoming@163.com' where username = '小明'"; if(mysql_query($sql,$conn)){ echo "更新数据成功!"; } else { echo "更新数据失败:".mysql_error(); } ?>
更新前数据:
例子将 user 表中 username 为 小明 的 email 修改为 xiaoming@163.com 。
更新后数据:
update 表达式
update 语法允许 set 后面跟表达式。
例子 1 :
update article set pv = pv+1 where id = 123
该例子让 id 为 123 的文章在被点击阅读的时候点击量加 1 。
例子 2 :
update persondata set age = age*2, age = age+1
该例子 set 后面跟了两个表达式:age = age*2(年龄加倍),age = age+1(再加 1 )。这种多个表达式的情况,是按照从左往右顺序执行的。
delete from 删除数据
delete 删除
delete from 语法用于删除数据表的数据记录。
语法:
delete from tb_name where definition
该语法将数据表中符合 where 条件的数据记录删除。如果省略where条件,则会将表中记录全部删除。
例子:
<?php $conn = @mysql_connect("localhost","root","root123"); if (!$conn){ die("连接数据库失败:" . mysql_error()); } mysql_select_db("test", $conn); mysql_query("set names 'gbk'"); $sql = "delete from user where username = '小王'"; if(mysql_query($sql,$conn)){ echo "删除 ".mysql_affected_rows()." 条数据记录。"; } else { exit("删除数据失败:".mysql_error()); } ?>
删除数据成功,浏览器输出:
删除 1 条数据记录。
删除前数据:
删除后数据:
如果没有符合条件的记录被删除,但 mysql_query() 仍然返回 true (除非 sql 语法错误)。因此要精确判断数据记录是否被删除,需要调用 mysql_affected_rows() 函数(该函数返回最近一次 insert,update 或 delete 查询所影响的记录行数)。
提示
如果只是想删除某条记录的某个字段数据,请使用 update set 语法将其置为空。
上一篇: MySQL 5.6 中 TIMESTAMP 的变化分析
下一篇: MySQL备份与恢复之冷备(1)