
SQL
夕阳惜夏
这个作者很懒,什么都没留下…
展开
-
MySQL可重复执行的建表SQL
记录一个可重复执行的建表SQL,因为有时候上线不是一次能成功的,所以需要考虑到重复执行。DROP TABLEIF EXISTS table_name;CREATE TABLE `table_name` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', `column1` varchar(32) COLLATE utf8mb4_general_ci NOT NULL COMMENT '变量代码', `column2` float DE原创 2022-04-01 13:48:14 · 1639 阅读 · 0 评论 -
MySQL 更新时关联多张表
UPDATE 表a aINNER JOIN 表d d ON a.字段= d.字段INNER JOIN 表b b ON b.字段 = d.字段INNER JOIN 表c c on c.字段 = b.字段SET a.字段= b.字段, a.字段 = b.字段, a.字段 = c.字段, a.字段 = c.字段, a.字段 = c.字段, a.字段 = c.字段, a.字段 = c.字段, a.字段 = c.字段, a.字段 = c.字段, a.字段 = c.字段, a.字段 .原创 2021-08-28 13:52:38 · 168 阅读 · 0 评论 -
MySQL SELECT语句实现条件逻辑
在一家公司面试,遇到了要在SELECT语句实现条件逻辑的问题,当时回答得不是很好一直挂念着,所以把这个功能梳理下。题目简化表 字段 student id,name course id,name scores id,stud_name,cour_name,score 目标表 学生名,课程名,是否及格 使用学生表、课程表和分数表,检索结果显示学生名、课程名和是否及格。所以需要实现条件逻辑判断是否及格,有如下几种实现方式:1. CASEWHEN..原创 2021-08-06 21:32:41 · 582 阅读 · 0 评论 -
MySQL DELETE触发器
CREATE TRIGGER deleteorder BEFORE DELETE ON ordersFOR EACH ROWBEGIN INSERT INTO archive_orders(order_num, order_date, cust_id) VALUES(OLD.order_num, OLD.order_date, OLD.cust_id);END;在任意订单被删除前将执行此触发器。它使用一条INSERT语句将OLD中的值(要被删除的订单)保存到一个名为archive_ord...原创 2021-07-31 12:00:56 · 2498 阅读 · 0 评论 -
MySQL CURSOR重复执行一次
首先引用经典并向经典致敬~DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done=1;这条语句定义了一个CONTINUE HANDLER,它是在条件出现时被执行的代码。这里,它指出当SQLSTATE '02000'出现时,SET done=1。SQLSTATE '02000'是一个未找到的条件,当REPEAT由于没有更多的行供循环而不能继续时,出现这个条件。--《MySQL必知必会》在”使用游标“这一章末尾给出了游标存储过程样例更进.原创 2021-07-30 22:28:27 · 1025 阅读 · 0 评论