有時(shí),MySQL 表中的已有數(shù)據(jù)可能需要修改,可以使用 SQL 的 UPDATE 命令來(lái)處理。它會(huì)修改MySQL表中任何字段的值。
利用 UPDATE 命令修改 MySQL 表中數(shù)據(jù)的一般語(yǔ)法格式如下:
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
在需要更新表中選定行時(shí),WHERE 子句是一個(gè)非常有用的工具。
下面我們將使用 SQL 的UPDATE 命令,再配合 WHERE 子句,來(lái)更新 MySQL 表 tutorials_tbl 中的選定數(shù)據(jù)。
下面這個(gè)范例將為一個(gè) tutorial_id 為 3 的記錄添加一個(gè)新的 tutorials_title 字段。
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
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>
同樣,也可以在 PHP 的 mysql_query() 函數(shù)中使用 SQL 的 UPDATE 命令和( 或不用) WHERE 子句。該函數(shù)執(zhí)行 SQL 命令的方式與 mysql> 命令行方式相同。
下面這個(gè)范例將為一個(gè) tutorial_id 為 3 的記錄添加一個(gè)新的 tutorials_title 字段。
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$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('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close($conn);
?>