1.前言
在数据库操作中更新语法经常用到,那UPDATE一共有几种用法呢?
2.创建测试表
CREATE TABLE `update_test` (`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '自增ID',`filed_a` varchar(32) DEFAULT '' COMMENT '字段 a',`filed_b` varchar(32) DEFAULT '' COMMENT '字段 b',PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=' update 语法测试表';
初始化测试数据
INSERT INTO update_test (id, filed_a, filed_b )VALUES( 1,'字段 a1', '字段 b1' ),( 2,'字段 a2', '字段 b2' ),( 3,'字段 a3', '字段 b3' ),( 4,'字段 a4', '字段 b4' );
3.UPDATE相关语法
3.1 单表条件更新
语法:UPDATE 表名 SET 列名 1 = xx,列名 2 = xx WHERE 条件 = xx;
UPDATE update_test SET filed_a ='字段 a1-2',filed_b ='字段 b1-2' WHERE id=1;
注:支持LIMIT语法,或ORDER BY排序后 LIMIT ,更新前多少行 ;
3.2 多表连接
UPDATE update_test a,update_test_b b SET a.filed_a = b.filed_a WHEREa.id = b.id
3.3 UPDATE JOIN
UPDATE update_test aINNER JOIN update_test_b b ON a.id = b.id SET a.filed_a = b.filed_a