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();
}
?>
uid | username | password | regdate | |
---|---|---|---|---|
1 | admin | b7e591c246d010bb2ccd77d52490c85e | admin@5idev.com | 1277992339 |
2 | 小明 | a193686a53e4de85ee3f2ff0576adf01 | xiao@163.com | 1278063917 |
3 | Jack | 0193686a35e4de85ee3f2ff0567adf49 | jack@gmail.com | 1278061380 |
4 | 小王 | e10adc3949ba59abbe56e057f20f883e | 12345@163.com | 1289632955 |
例子将 user 表中 username 为 小明 的 email 修改为 xiaoming@163.com 。
uid | username | password | regdate | |
---|---|---|---|---|
1 | admin | b7e591c246d010bb2ccd77d52490c85e | admin@5idev.com | 1277992339 |
2 | 小明 | a193686a53e4de85ee3f2ff0576adf01 | xiaoming@163.com | 1278063917 |
3 | Jack | 0193686a35e4de85ee3f2ff0567adf49 | jack@gmail.com | 1278061380 |
4 | 小王 | e10adc3949ba59abbe56e057f20f883e | 12345@163.com | 1289632955 |
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 )。这种多个表达式的情况,是按照从左往右顺序执行的。