MySQL - 更新查询

可能需要修改MySQL表中的现有数据.您可以使用SQL UPDATE 命令执行此操作.这将修改任何MySQL表的任何字段值.

语法

以下代码块具有UPDATE命令的通用SQL语法,用于修改MySQL表中的数据 :

UPDATE table_name SET field1 = new-value1, field2 = new-value2
[WHERE Clause]

  • 您可以完全更新一个或多个字段.

  • 您可以使用WHERE子句指定任何条件.

  • 您可以一次更新单个表中的值.

当您想要更新表中的选定行时,WHERE子句非常有用.

从命令提示符更新数据

这将使用带有WHERE子句的SQL UPDATE命令来更新MySQL表中的选定数据 tutorials_tbl .

示例

以下示例将更新具有tutorial_id的记录的 tutorial_title 字段as 3.

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脚本更新数据

您可以将带有或不带WHERE CLAUSE的SQL UPDATE命令用于PHP函数 -   mysql_query().该函数将以类似于mysql>执行的方式执行SQL命令.提示.

示例

以下示例更新 tutorial_title 字段,以获取教程为3的记录.

<?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);
?>