[TOC]
## 更新数据表
#### 语法:
~~~
UPDATE 表名
SET 字段名=表达式 [, 字段名=表达式 ...]
[WHERE 更新条件]
[ORDER BY 更新顺序]
[LIMIT 限制更新记录数量]
~~~
#### 实例1:开发部加薪啦!将开发部全体员工加薪500元
>[info] 为了使同学们更直观的看到更新效果,我们使用了分组与排序!
在以后的操作中,我们会更多的用到之前学到过的知识,如果仍感到吃力,建议把前面章节的知识,再仔细看一遍!
* 先看一下更新之前的开发部员工工资情况吧
* 查询语句如下:
~~~
SELECT * FROM `tp5_staff` ORDER BY dept DESC;
~~~
![](https://box.kancloud.cn/5aa628db9cdb7f51cf097c0f199040c0_1003x775.png)
* 现在开始更新操作,开发部的同志们,加薪啦~~~
* 更新语句如下:
~~~
#开发部全体员工加薪500元
UPDATE `tp5_staff` SET salary = salary + 500
WHERE dept = '开发部';
#查看加薪后的工资
SELECT * FROM `tp5_staff` ORDER BY dept DESC;
~~~
* 运行结果如下:
![](https://box.kancloud.cn/18f58deae028fd693e2f85a28261434e_1003x775.png)
* * * * *
#### 实例2: 将编号为1001的员工,姓名md5加密,入职日期设置为当前日期
##### 本例中,姓名加密没有任何实际意义,仅用于演示函数使用效果
* 语句如下:
~~~
#将id=1001的记录的姓名md5加密,入职日期设置为当前日期
UPDATE `tp5_staff` SET name = MD5('name'), hiredate = CURRENT_DATE
WHERE id = 1001;
#查看更新结果
SELECT * FROM `tp5_staff` ;
~~~
* 查询结果如下:
![](https://box.kancloud.cn/332f87826fc0cd35e4ecfd3560fc56a2_1003x775.png)
#### 分析:
>[info] SET关键字后面,用于表中字段的值,可以用常量、可以用表达式,也可用函数。本例中,使用了常量 :CURRENT_DATE表示当前时间,MD5()函数对字符串name进行了加密!
* * * * *
### 实例3:将id=1001的员工姓名,工资,入职日期全部设置为NULL
* 分析
>[success] * 将字段值设置为NULL,根据字段类型不同,有不同的显示方式
>* 数据型字段显示为:0;
> * 字符串字段显示为:空;
> * 日期时间型字段显示为:NULL。
* 语句如下:
~~~
#将id=1001的记录的姓名、工资、入职日期全部设置为NULL
UPDATE `tp5_staff` SET name = NULL, salary = NULL, hiredate = NULL
WHERE id = 1001;
#查看更新结果
SELECT * FROM `tp5_staff` ;
~~~
* 运行结果如下:
![](https://box.kancloud.cn/faa22ee12bf5306f7799d3b2a1a34e4d_1003x775.png)
- 前言[随时更新]
- ThinkPHP 5数据库重构
- 开发环境
- 1.ThinkPHP5开发环境(Mac版)
- 2.ThinkPHP5开发环境(Win版)
- MySQL快速复习
- 1.数据库操作
- 2.数据表操作
- 1.创建数据表 (重点)
- 2.添加数据表记录
- 3.查询数据表(重点)
- 4.更新数据表
- 5.编辑数据表结构(重点)
- 6_复制数据表
- 7.删除数据和表
- 连接数据库
- 1.数据库配置文件database.php
- 2.Db类静态方法connect()
- 3.模块中的配置文件config.php
- MySQL原生查询
- 1.读操作query
- 2.写操作execute
- 选择数据表
- 1.table与setTable方法
- 2.name方法
- 3.db助手函数
- 4.alias方法
- 结果集查询
- 1.find方法
- 2.select方法
- 3.fetchSql方法
- 4.value方法
- 5.column方法
- 6.field方法
- 新增数据
- 1.insert_单条添加
- 2.insertAll_批量添加
- 3_db_助手函数添加
- 更新数据
- 1.update方法
- 2.setField更新字段
- 3_自增自减与延时更新
- 删除数据
- 1.delete方法
- 查询方法
- 1.getTableInfo方法
- 2.where方法
- 3.whereOr方法
- 4.混合查询(闭包实现)
- 表达式查询
- 1.表达式查询(重点)
- 2.exp通用查询
- 分组查询
- 1.group方法
- 2.having方法
- 排序分页查询
- 1.order方法
- 2.limit方法
- 3.page方法
- 聚合查询
- 时间查询
- 1.where方法
- 2.whereTime方法
- 高级查询
- 1.快捷查询
- 2.区间查询
- 3.批量查询
- 4.Query对象查询
- 5.混合查询
- 视图查询
- view方法
- 子查询
- 1.select方法
- 2.fetchSql方法
- 3.buildSql方法
- 4.闭包子查询
- 总结/参考
- 1.方法参数类型总结
- 2.查询/子查询/连接查询