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
WHERE
a.id = b.id
3.3 UPDATE JOIN
UPDATE update_test a
INNER JOIN update_test_b b ON a.id = b.id
SET a.filed_a = b.filed_a