MySQL UPDATE 更新

目录

一、MySQL怎么更新数据

二、通过命令提示符更新数据

三、使用PHP脚本更新数据


一、MySQL怎么更新数据

如果需要修改或更新 MySQL 中的数据,可以使用 SQL UPDATE 命令来操作。

以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法:

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

  •  可以在 WHERE 子句中指定任何条件。
  • 可以同时更新一个或多个字段。
  • 可以在一个单独表中同时更新数据。

当需要更新数据表中指定行的数据时 WHERE 子句是非常有用的。

二、通过命令提示符更新数据

下面将在 SQL UPDATE 命令使用 WHERE 子句来更新 test_tbl 表中指定的数据:

将更新数据表中 test_id 为 3 的 test_title 字段值:

mysql> UPDATE test_tbl SET test_title='学习 C++' WHERE test_id=3;
Query OK, 1 rows affected (0.01 sec)
 
mysql> SELECT * from test_tbl WHERE test_id=3;
+-----------+--------------+---------------+-----------------+
| test_id | test_title | test_author | submission_date |
+-----------+--------------+---------------+-----------------+
| 3         | 学习 C++   |  TEST    | 2016-05-06      |
+-----------+--------------+---------------+-----------------+
1 rows in set (0.01 sec)

 从结果上看,test_id 为 3 的 test_title 已被修改。

三、使用PHP脚本更新数据

PHP 中使用函数 mysqli_query() 来执行 SQL 语句,可以在 SQL UPDATE 语句中使用或者不使用 WHERE 子句。

注意:不使用 WHERE 子句将数据表的全部数据进行更新,所以要慎重。

该函数与在 mysql> 命令提示符中执行 SQL 语句的效果是一样的。

下面代码将更新 test_id 为 3 的 test_title 字段的数据:

<?php
$dbhost = 'localhost';  // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'UPDATE test_tbl
        SET test_title="学习 Python"
        WHERE test_id=3';
 
mysqli_select_db( $conn, 'TEST' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('无法更新数据: ' . mysqli_error($conn));
}
echo '数据更新成功!';
mysqli_close($conn);
?>

### 回答1: MySQLupdate语句可以同时更新多个字段,语法如下: ``` UPDATE 表名 SET 字段1=值1, 字段2=值2, ... WHERE 条件; ``` 其中,表名是要更新的表的名称,字段1、字段2等是要更新的字段名称,值1、值2等是要更新的字段的值,条件是更新的条件,用于指定要更新哪些记录。 例如,更新学生表中id为1的记录的姓名和年龄: ``` UPDATE student SET name='张三', age=20 WHERE id=1; ``` 这样就可以将id为1的学生的姓名改为张三,年龄改为20。 ### 回答2: MySQL中,使用UPDATE语句可以更新一张表中的数据,在更新的时候可以同时更新多个字段。具体来说,更新多个字段需要指定多个SET子句,每个SET子句用逗号分隔。例如: ``` UPDATE table_name SET column1=value1, column2=value2, ... WHERE condition; ``` 上述语句中,table_name是需要更新的表的名称;column1、column2等是要更新的字段名称;value1、value2等是要更新字段的值;condition是更新的条件。 在编写SET子句时,需要注意以下几点: 1. SET子句中指定的字段和值必须用等号分隔。 2. SET子句中的每个子句必须用逗号分隔。 3. 更新字符串类型的字段时,值必须用引号括起来。 例如,如果要将表中的用户姓名和职业同时更新为新值,可以使用以下语句: ``` UPDATE users SET name='Tom', occupation='Engineer' WHERE id=1; ``` 上述语句中,users是需要更新的表的名称;name和occupation是要更新的字段名称;'Tom'和'Engineer'是要更新的字段的值;id=1是更新的条件。 总之,MySQL中可以通过UPDATE语句同时更新多个字段,只需要在SET子句中指定每个字段和对应的值即可。 ### 回答3: MySQL update语句可以用于更新一条或多条记录中的一个或多个字段的值。当需要同时更新多个字段时,只需要在更新语句中使用逗号分隔的多个字段名及其新值即可。 语法: ``` UPDATE 表名 SET 字段1=新值1, 字段2=新值2, ... WHERE 条件 ``` 其中,表名为要更新的表名,字段1为要更新的第一个字段名,新值1为该字段的新值,字段2、新值2以此类推。WHERE子句可选,用于指定更新的记录,如果不指定,则更新表中所有记录。 例如,假设我们有一张学生表,其中有id、name、age、gender四个字段,我们要同时将张三的年龄和性别更新为20和女: ``` UPDATE students SET age=20, gender='女' WHERE name='张三'; ``` 上述语句中,我们使用了SET子句同时更新了age和gender字段的值,WHERE子句指定了要更新的记录为姓名为“张三”的记录。 需要注意的是,如果在更新多个字段时只想更新部分字段,可以省略未更新的字段。另外,如果多个字段的值相同,可以利用相同的值简化语句,例如: ``` UPDATE students SET age=20, gender='女' WHERE id=1; ``` 上述语句中,我们利用了“张三”的id=1的记录来更新信息,age和gender字段的值都相同,因此可以用逗号分隔的形式同时更新
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数字魔术师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值