7)-MySQL更新表数据

1. MySQL UPDATE语句简介


我们使用update语句来更新表中的现有数据。也可以使用update语句来更改表中单个行,一组行或所有行的列值。

下面说明了mysql update语句的语法:

update [low_priority] [ignore] table_name

set

column_name1 = expr1,

column_name2 = expr2,

...

where

condition;

在上面update语句中:

首先,在update关键字后面指定要更新数据的表名。

其次,set子句指定要修改的列和新值。要更新多个列,请使用以逗号分隔的列表。以字面值,表达式或子查询的形式在每列的赋值中来提供要设置的值。

第三,使用where子句中的条件指定要更新的行。where子句是可选的。 如果省略where子句,则update语句将更新表中的所有行。

请注意,where子句非常重要,所以不应该忘记指定更新的条件。 有时,您可能只想改变一行; 但是,可能会忘记写上where子句,导致意外更新表中的所有行。

mysql在update语句中支持两个修饰符。

low_priority修饰符指示update语句延迟更新,直到没有从表中读取数据的连接。 low_priority对仅使用表级锁定的存储引擎(例如myisam,merge,memory)生效。

即使发生错误,ignore修饰符也可以使update语句继续更新行。导致错误(如重复键冲突)的行不会更新。

2. MySQL UPDATE示例


我们使用mysql示例数据库(yiibaidb)中的一些表来练习使用update语句。

2.1 mysql update一个单列示例

在这个例子中,我们将把 mary patterson 的电子邮件更新为新的电子邮件[email protected]。

首先,为了确保更新电子邮件成功,使用以下select语句从employees表查询mary的电子邮件:

select

firstname, lastname, email

from

employees

where

employeenumber = 1056;

执行上面的查询语句,得到以下结果 -

+-----------+-----------+----------------------+

| firstname | lastname  | email                |

+-----------+-----------+----------------------+

| Mary      | Patterson | [email protected] |

+-----------+-----------+----------------------+

1 row in set

第二步,使用update语句将mary的电子邮件更新为新的电子邮件:[email protected],如下查询所示:

update employees

set

email = ‘[email protected]‘

where

employeenumber = 1056;

因为上面语句中,只想更新一行,所以使用WHERE子句来指定更新的是员工编号1056的行。SET子句将电子邮件列的值设置为新的电子邮件。

原文地址:https://www.cnblogs.com/shsm/p/10118181.html

时间: 2024-10-03 15:48:07

7)-MySQL更新表数据的相关文章

关于Mysql删除表数据的两种方式对比

1.delete from table_name 一行一行删除,只删除表数据,auto_increament仍停留在最后一天数据的下一个值. 2.truncate table_name 快捷删除表数据.先删除整个表,然后重新建表结构.auto_increament从1开始. 关于Mysql删除表数据的两种方式对比,布布扣,bubuko.com

oracle 、sql server 、mysql 复制表数据

我们知道在oracle 中复制表数据的方式是使用 create table table_name as select * from table_name 而在sql server  中是不能这么使用的 语句如下: select * into table_name from table_name; 而在 mysql 中有两种方式 1. create table a like b 2. 类似oracle的方式 create table table_name as select * from tabl

sqlite学习笔记6:更新表数据

一 条件判断 在SQL中条件判断使用where,相当于其他变成语言中的if,基本用法如: SELECT column1, column2, columnN FROM table_name WHERE [condition] 另外,SQL支持数学运算,逻辑运算,位于运算等等,均可放在WHERE子句中. 二 更新表 基本语法如下: UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE

mysql清空表数据后如何让自增ID仍从1开始

mysql清空表数据后如何让自增ID仍从1开始?也就是说如何重排auto_increment 清空表时使用truncate命令,而不用delete命令 mysql> truncate test; 使用truncate命令的好处: 1).速度快 2).可以对自增ID进行重排,使自增ID仍从1开始计算   原文地址:https://www.cnblogs.com/superboblogs/p/9445318.html

Python 读取MySQL数据库表数据

环境 Python 3.6 ,Window 64bit 目的 从MySQL数据库读取目标表数据,并处理 代码 # -*- coding: utf-8 -*- import pandas as pd import pymysql ## 加上字符集参数,防止中文乱码 dbconn=pymysql.connect( host="**********", database="kimbo", user="kimbo_test", password=&quo

mysql清空表数据

note:生产环境中需要数据库有脏数据,需要清空表数据并保留数据结构. 步骤: 借助工具SQLyog 一.导出数据库结构 导出test.sql 二.进入数据库执行drop 三.导入表结构 结果展示:清空了表数据,但是表结构没变化.

mysql更新表中日期字段时间

DATE_ADD和DATE_SUB函数可以用INTERVAL关键字标识的时间间隔进行加减操作,类似于PHP中的strtotime函数. 1.更新表中有效期valid_time字段值都增加一天 UPDATE cqh_activity SET valid_time=DATE_ADD(valid_time,INTERVAL 1 DAY); 2.更新表中有效期valid_time字段值都减少一天 UPDATE cqh_activity SET valid_time=DATE_SUB(valid_time

mysql触发器-表数据实时同步

今天遇到一个需求,是同一个实例里面的两个库中的几张表需要做单向同步,刚开始想直接使用Otter&Canal的架构去做同步.但是因为这个架构依赖的是binlog进行同步的,但是阿里云RDS对于binlog是有做定时清理操作的.所以如果用canal去通过binlog同步的话 一旦RDS的binlog 清理了 将无法同步,并且无法找回之前的数据.所以考虑到只是同步极少数的表,就用了mysql的触发器. mysql的触发器只支持行级触发器不支持语句级触发器,行级触发器又分为单行触发器以及多行触发器. 单

mysql清表数据

delete from 表名; truncatetable 表名; 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容. 效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据. delete的效果有点像将mysql表中所有记录一条一条删除到删完, 而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表. 2013-09-02 来自于百