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 @   磕伴  阅读(44)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示