语法形式:
```
update 表名 set 字段名1=字段值1, ... where ... [order by 字段名, ...] [limit 数量n];
```
说明:
1,order by用于设定更新数据时的更新顺序,跟select语句中的order by子句道理一样。
2,limit 用于设定更新数据时要更新的行数,即更新的数据量可能少于条件筛选出来的数据量。
![](https://img.kancloud.cn/75/8d/758d97a4373bf7380904262181709679_695x271.jpg)
## 昨日回顾
### mysql第1天:
系统性操作:
安装系统
登录:
cmd,登录成功,立即设置连接字符:
set names gbk;
退出:
建库:
create database 数据库名 charset utf8;
建表:
建表的核心是:设定若干字段
基本增删改查:
insert into 表名(f1, f2, f3)values(null, 'v1', 18);
$sql = "insert into 表名(f1, f2, f3)values(null, 'v1', 18);";
mysqli_query($link, $sql);
delete from 表名 where id=5;
update ...
select ....
### mysql第2天:
数据类型:
数字类型:
整数:int, tinyint
小数:浮动小数,定点小数
字符类型:
char:
varchar:
text:
enum:枚举,单选类型
set:多选类型
时间类型:
time,date, datetime,timestamp,
字段属性:
not null
primary key
auto_increment
unique key
default xx;
comment '说明文字'
### mysql第3天:
高级查询:
select xxx
from xxx
where ....
group by ...
having ...
order by ..
limit ...
高级插入:
插入多行
将查询结果插入到某个表中:
insert into xxx(字段列表) select 字段列表 from ...;
主键冲突:
1,直接忽略:
insert ignore into 表名.....
2,替换原数据:
replace into .....
3, 预先设定更新数据:
inser into ..... on duplicate key update
set 某字段=某值, 某字段=某值...
高级删除:
truncate
高级修改:
这两者都只是可以额外增加如下特性:
按什么顺序区删除或修改,并设定可以修改(/删除)多少条