SQL UPDATE 语句
UPDATE 语句用于更新表中已存在的记录。
SQL UPDATE 语法
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
请注意 SQL UPDATE 语句中的 WHERE 子句! WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!
pangugle_news_category 表样本数据
category_id | category_title | category_desc | category_createtime | category_admin |
---|---|---|---|---|
1 | 百度 | 百度公司 | 2020-09-16 18:09:52 | admin |
2 | 盘古歌 | 盘古歌技术 | 2020-09-16 18:12:31 | admin |
3 | 谷歌公司 | 2020-09-16 18:12:56 | u1 | |
4 | 阿里巴巴 | 阿里巴巴公司 | 2020-09-16 18:13:20 | u1 |
5 | 腾讯公司 | 2020-09-16 18:13:36 | u1 | |
6 | 字节跳动 | 字节跳动公司 | 2020-09-16 20:12:31 | u2 |
SQL UPDATE 实例
我们使用下面的 SQL 语句:
实例
UPDATE pangugle_news_category
SET category_title='Google 公司', category_desc='Google 母公司'
WHERE category_id= 3;
上面的操作是
- 把 "Google" 改成 "Google 公司"
- 把 " 谷歌公司" 改成 "Google 母公司"
执行以上 SQL,再读取 "pangugle_news_category " 表,数据如下所示:
category_id | category_title | category_desc | category_createtime | category_admin |
---|---|---|---|---|
1 | 百度 | 百度公司 | 2020-09-16 18:09:52 | admin |
2 | 盘古歌 | 盘古歌技术 | 2020-09-16 18:12:31 | admin |
3 | Google 公司 | Google 母公司 | 2020-09-16 18:12:56 | u1 |
4 | 阿里巴巴 | 阿里巴巴公司 | 2020-09-16 18:13:20 | u1 |
5 | 腾讯公司 | 2020-09-16 18:13:36 | u1 | |
6 | 字节跳动 | 字节跳动公司 | 2020-09-16 20:12:31 | u2 |
Update 警告!
在更新记录时要格外小心!在上面的实例中,如果我们省略了 WHERE 子句,如下所示:
UPDATE pangugle_news_category
SET category_title='xxx'
执行以上代码会将 pangugle_news_category 表中所有数据的 category_title 改为 xxx .
限制 update 没有 where 执行
在 MySQL 中可以通过设置 sql_safe_updates 这个自带的参数来解决,当该参数开启的情况下,你必须在update 语句后携带 where 条件,否则就会报错。
set sql_safe_updates=1; 表示开启该参数