MySQL IF语句允许您根据表达式的某个条件或值结果来执行一组SQL语句。 要在MySQL中形成一个表达式,可以结合文字,变量,运算符,甚至函数来组合。表达式可以返回TRUE,FALSE或NULL,这三个值之一。 MySQL IF语句语法: IF expression THEN statement Read More
posted @ 2020-05-21 14:45 Yuezc Views(1014) Comments(0) Diggs(0)
MySQL存储函数只返回一个值。要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程。 返回多个值的存储过程示例: SELECT * FROM orders; 原表的数据如上面所示。返回多个值,其实就是多设置几个inout/out的参数。 SQL 如下: USE yiibaidb Read More
posted @ 2020-05-20 15:55 Yuezc Views(1993) Comments(0) Diggs(0)
一、MySQL存储过程参数简介 在现实应用中,开发的存储过程几乎都需要参数。这些参数使存储过程更加灵活和有用。 在MySQL中,参数有三种模式:IN,OUT或INOUT。 IN - 是默认模式。在存储过程中定义IN参数时,调用程序必须将参数传递给存储过程。 另外,IN参数的值被保护。这意味着即使在存 Read More
posted @ 2020-05-13 17:14 Yuezc Views(442) Comments(0) Diggs(0)
变量是一个命名数据对象,变量的值可以在存储过程执行期间更改。我们通常使用存储过程中的变量来保存直接/间接结果。 这些变量是存储过程的本地变量。 注意:变量必须先声明后,才能使用它 1、声明变量 要在存储过程中声明一个变量,可以使用DECLARE语句,如下所示: DECLARE variable_na Read More
posted @ 2020-05-12 15:35 Yuezc Views(143) Comments(0) Diggs(0)
1、MySQL存储过程 DELIMITER // CREATE PROCEDURE appProducts() BEGIN SELECT * FROM products; END // DELIMITER; 第一个命令是DELIMITER //,它与存储过程语法无关。 DELIMITER语句将标准分 Read More
posted @ 2020-05-11 15:15 Yuezc Views(134) Comments(0) Diggs(0)
我们前面所学习的 MySQL 语句都是针对一个表或几个表的单条 SQL 语句,但是在数据库的实际操作中,并非所有操作都那么简单,经常会有一个完整的操作需要多条 SQL 语句处理多个表才能完成。例如,为了确认学生能否毕业,需要同时查询学生档案表、成绩表和综合表,此时就需要使用多条 SQL 语句来针对几 Read More
posted @ 2020-05-11 14:01 Yuezc Views(163) Comments(0) Diggs(0)
1、-- 删除重复行,且保留最高的id: 因为删除的是a表的中的id小于b表中的。 DELETE a FROM contacts a INNER JOIN contacts b WHERE a.id < b.id AND a.email = b.email; 2、-- 删除重复行,且保留最小的id: Read More
posted @ 2020-05-09 15:46 Yuezc Views(697) Comments(0) Diggs(0)
1、一个表中单个列重复的值 SELECT id, firstName, lastName, email, COUNT(*) FROM contacts GROUP BY firstName HAVING COUNT(firstName) > 1; 结果是:其中count(*)是表示重复的次数。 2、 Read More
posted @ 2020-05-08 17:39 Yuezc Views(374) Comments(0) Diggs(0)
在数据迁移中,我们经常需要比较两个表,以便在一个表中标识另一个表中没有相应记录的记录。 例如,我们有一个新的数据库,其架构与旧数据库不同。我们的任务是将所有数据从旧数据库迁移到新数据库,并验证数据是否正确迁移。 要检查数据,我们必须比较两个表,一个在新数据库中,一个在旧数据库中,并标识不匹配的记录。 Read More
posted @ 2020-04-30 17:01 Yuezc Views(24514) Comments(0) Diggs(0)
1、递归CTE由三个主要部分组成: 形成CTE结构的基本结果集的初始查询(initial_query),初始查询部分被称为锚成员。 递归查询部分是引用CTE名称的查询,因此称为递归成员。递归成员由一个UNION ALL或UNION DISTINCT运算符与锚成员相连。 终止条件是当递归成员没有返回任 Read More
posted @ 2020-04-29 18:39 Yuezc Views(666) Comments(0) Diggs(0)