MySQL中UPDATE与DELETE语句的使用教程

UPDATE 更新
UPDATE SET 语法用于修改更新数据表中的数据。
语法:

UPDATE tb_name SET column1 = new_value1,column2 = new_value2,… WHERE definition

该语法将数据表中符合 WHERE 条件的记录中的 column1 的值更新为 new_value1,column2 的值更新为 new_value2 ,以此类推。如果省略 WHERE 条件,则会将表中所有记录的 column 值进行更新。
例子:

<?php
$conn = @mysql_connect("localhost","root","root123");
if (!$conn){
 die("连接数据库失败:" . mysql_error());
}

mysql_select_db("test", $conn);
mysql_query("set names 'gbk'"); 

$sql = "UPDATE user SET email = 'xiaoming@163.com' WHERE username = '小明'";
if(mysql_query($sql,$conn)){
 echo "更新数据成功!";
} else {
 echo "更新数据失败:".mysql_error();
}
?>

更新前数据:


例子将 user 表中 username 为 小明 的 email 修改为 xiaoming@163.com 。
更新后数据:


UPDATE 表达式
UPDATE 语法允许 SET 后面跟表达式。
例子 1 :

UPDATE article SET pv = pv+1 WHERE id = 123

该例子让 id 为 123 的文章在被点击阅读的时候点击量加 1 。
例子 2 :

UPDATE persondata SET age = age*2, age = age+1

该例子 SET 后面跟了两个表达式:age = age*2(年龄加倍),age = age+1(再加 1 )。这种多个表达式的情况,是按照从左往右顺序执行的。

 Delete From 删除数据
DELETE 删除
DELETE FROM 语法用于删除数据表的数据记录。
语法:

DELETE FROM tb_name WHERE definition

该语法将数据表中符合 WHERE 条件的数据记录删除。如果省略WHERE条件,则会将表中记录全部删除。
例子:

<?php
$conn = @mysql_connect("localhost","root","root123");
if (!$conn){
 die("连接数据库失败:" . mysql_error());
}

mysql_select_db("test", $conn);
mysql_query("set names 'gbk'"); 

$sql = "DELETE FROM user WHERE username = '小王'";
if(mysql_query($sql,$conn)){
 echo "删除 ".mysql_affected_rows()." 条数据记录。";
} else {
 exit("删除数据失败:".mysql_error());
}
?>

删除数据成功,浏览器输出:
删除 1 条数据记录。
删除前数据:

删除后数据:

如果没有符合条件的记录被删除,但 mysql_query() 仍然返回 TRUE (除非 SQL 语法错误)。因此要精确判断数据记录是否被删除,需要调用 mysql_affected_rows() 函数(该函数返回最近一次 INSERT,UPDATE 或 DELETE 查询所影响的记录行数)。
提示
如果只是想删除某条记录的某个字段数据,请使用 UPDATE SET 语法将其置为空。

时间: 2015-12-14

mysql update语句的用法详解

首先,单表的UPDATE语句: UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count] 其次,多表的UPDATE语句: UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_n

MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解

MySQL数据库insert和update语句引:用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.UPDATE以及DELETE. 用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就 是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.UP

Oracle中的translate函数和replace函数的用法详解

translate函数语法: translate(expr, from_strimg, to_string) 简介: translate返回expr,其中from_string中的每个字符的所有出现都被to_string中的相应字符替换.expr中不在from_string中的字符不会被替换.如果expr是一个字符串,那么你必须把它放在单引号中. from_string的参数可以包含比to_string更多的字符.在这种情况下,from_string末尾的多余字符在to_string中没有对应的

mysql存储过程之游标(DECLARE)原理与用法详解

本文实例讲述了mysql存储过程之游标(DECLARE)原理与用法.分享给大家供大家参考,具体如下: 我们在处理存储过程中的结果集时,可以使用游标,因为游标允许我们迭代查询返回的一组行,并相应地处理每行.mysql的游标为只读,不可滚动和敏感三种模式,我们来看下: 只读:无法通过光标更新基础表中的数据. 不可滚动:只能按照select语句确定的顺序获取行.不能以相反的顺序获取行. 此外,不能跳过行或跳转到结果集中的特定行. 敏感:有两种游标:敏感游标和不敏感游标.敏感游标指向实际数据,不敏感游标

MySQL中replace into语句的用法详解

在向表中插入数据的时候,经常遇到这样的情况: 1.首先判断数据是否存在: 2.如果不存在,则插入: 3.如果存在,则更新.   在 SQL Server 中可以这样写: 复制代码 代码如下: if not exists (select 1 from table where id = 1) insert into table(id, update_time) values(1, getdate()) else update table set update_time = getdate() whe

SQL Server UPDATE语句的用法详解

SQL Server UPDATE语句用于更新数据,下面就为您详细介绍SQL Server UPDATE语句语法方面的知识,希望可以让您对SQL Server UPDATE语句有更多的了解. 现实应用中数据库中的数据改动是免不了的.通常,几乎所有的用户数据库中的大部分数据都要进行某种程度的修改.在SQL Server数据库中要想修改数据库记录,就需要用UPDATE语句,UPDATE语句就是为了改变数据库中的现存数据而存在的.这条语句虽然有一些复杂的选项,但确实是最容易学习的语句之一.这是因为在大

数据库性能测试之sysbench工具的安装与用法详解

1.简介和安装 sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据库的性能测试.目前支持的数据库有MySQL.Oracle和PostgreSQL. 官方站点:https://github.com/akopytov/sysbench/ rpm包下载:https://packagecloud.io/akopytov/sysbench/packages/el/7/sysbench-1.0.15-1.el7.centos.x86_64.r

C语言 while语句的用法详解

在C语言中,共有三大常用的程序结构: 顺序结构:代码从前往后执行,没有任何"拐弯抹角": 选择结构:也叫分支结构,重点要掌握 if else.switch 以及条件运算符: 循环结构:重复执行同一段代码. 前面讲解了顺序结构和选择结构,本节开始讲解循环结构.所谓循环(Loop),就是重复地执行同一段代码,例如要计算 1+2+3+--+99+100 的值,就要重复进行99次加法运算. while循环 while循环的一般形式为:     while(表达式){         语句块  

Python中生成器和yield语句的用法详解

在开始课程之前,我要求学生们填写一份调查表,这个调查表反映了它们对Python中一些概念的理解情况.一些话题("if/else控制流" 或者 "定义和使用函数")对于大多数学生是没有问题的.但是有一些话题,大多数学生只有很少,或者完全没有任何接触,尤其是"生成器和yield关键字".我猜这对大多数新手Python程序员也是如此. 有事实表明,在我花了大功夫后,有些人仍然不能理解生成器和yield关键字.我想让这个问题有所改善.在这篇文章中,我将解

C语言switch 语句的用法详解

C语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况.例如,输入一个整数,输出该整数对应的星期几的英文表示: #include <stdio.h> int main(){ int a; printf("Input integer number:"); scanf("%d",&a); if(a==1){ printf("Monday\n&q