增
INSERT INTO 表名(属性名1,属性名2) VALUES(值1,值2)
删
DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]
改
UPDATE 表名 SET sold_number=sold_number+1 WHERE fid=%s
查
SELECT 属性1,属性2 FROM 表 WHERE height=170(条件);
触发器
begin INSERT INTO sold_goods(gid,sid,price,gname) VALUES(NEW.qid,NEW.fid,NEW.price,NEW.name); end # ①在INSERT型触发器中,NEW用来表示将要(BEFORE)或已经(AFTER)插入的新数据; ②在UPDATE型触发器中,OLD用来表示将要或已经被修改的原数据,NEW用来表示将要或已经修改为的新数据; ③在DELETE型触发器中,OLD用来表示将要或已经被删除的原数据; OLD是只读的,而NEW则可以在触发器中使用 SET 赋值,这样不会再次触发触发器,造成循环调用 BEGIN -> IF NEW.amount < 0 THEN -> SET NEW.amount = 0; -> ELSEIF NEW.amount > 100 THEN -> SET NEW.amount = 100; -> END IF; END$$
变量赋值,并且调用,where and 多个条件
SET @num=‘‘; #声明一个名为@num的变量,并将它赋值为空,MySQL里面的变量是不严格限制数据类型的,它的数据类型根据你赋给它的值而随时变化 。(SQL SERVER中使用declare语句声明变量,且严格限制数据类型。) SELECT @num:=uname from user WHERE uid=1; #select的结果赋值给 @num SELECT `password` FROM `user` WHERE uname=@num #@num作为值使用 -------------------------------------- SELECT `password`,phone INTO @mima,@dianhua FROM user WHERE uid=1; #赋值多个 SELECT uid FROM `user` WHERE phone=@dianhua AND `password`=@mima #用值多个
SELECT @id:=uid FROM `user` WHERE uname=‘abc‘; INSERT INTO user_have_goods(uuid,have_good_id) VALUES(@id,88);
limit限制数据量
SELECT have_good_id FROM user_have_goods WHERE uuid=1 #返回结果8个 SELECT have_good_id FROM user_have_goods WHERE uuid=1 LIMIT 5 #返回结果5个