可能会有一个需要,要在一个MySQL表中的现有数据进行修改。可以通过使用SQL UPDATE命令来执行。可以修改任何MySQL表中任何字段的值。
语法
这里是UPDATE命令修改数据到MySQL表的通用SQL语法:
UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
完全可以更新一个或多个字段。
可以指定使用任何条件在WHERE子句中。
可以一次更新一个表中的值。
当想更新表中选定行,WHERE子句是非常有用的。
1、从命令提示符更新数据
使用SQL UPDATE命令以及WHERE子句来更新选定数据到MySQL表tutorials_tbl。
示例
下面的例子将更新 tutorial_id 为3 的纪录中的 tutorial_title 字段。
root@host# mysql -u root -p password; Enter password: mysql> use test; Database changed mysql> UPDATE tutorials_tbl -> SET tutorial_title='Learning JAVA' -> WHERE tutorial_id=3; Query OK, 1 row affected (0.04 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>
2、使用PHP脚本更新数据
可以使用SQL UPDATE命令带或不带WHERE子句在PHP的mysql_query()函数。在MySQL的>提示符下执行该函数,将执行类似SQL命令的效果。
示例
试试下面的例子,将更新tutorial_id为3的的纪录的tutorial_title字段。
<?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $sql = 'UPDATE tutorials_tbl SET tutorial_title="Learning JAVA" WHERE tutorial_id=3'; mysql_select_db('test'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not update data: ' . mysql_error()); } echo "Updated data successfully\n"; mysql_close($conn); ?>