Mysql基本操作语句 增-删-改

INSERT INTO 表名(属性名1,属性名2) VALUES(值1,值2)

把查询结果直接添加到表里

INSERT INTO sales_reps(id, name, salary, commission_pct)
SELECT employee_id, last_name, salary, commission_pct
FROM employees
WHERE job_id LIKE '%REP%';

DELETE FROM <表名> [WHERE 子句]

UPDATE 表名 SET sold_number=sold_number+1 WHERE fid=%s

 如果省略 WHERE 子句,则表中的所有数据都将被更新。

 

 

 

触发器

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$$
View Code

变量赋值,并且调用,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
#用值多个
View Code
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个

 

posted @ 2021-06-29 08:48  磕伴  阅读(50)  评论(0)    收藏  举报