找到 4379 篇文章 关于 MySQL
118 次浏览
可以通过以下查询查看特定 MySQL 数据库中存储过程的列表:
mysql> SELECT ROUTINE_TYPE, ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'query' AND ROUTINE_TYPE = 'PROCEDURE'
// +--------------+------------------------+ | ROUTINE_TYPE | ROUTINE_NAME | +--------------+------------------------+ | PROCEDURE | allrecords | +--------------+------------------------+
1 row in set (0.05 sec)
88 次浏览
可以编写以下查询来查看特定 MySQL 数据库中存储过程的名称和类型。为了便于理解,我们使用名为“query”的数据库:
mysql> Select Name, Type from mysql.proc where db = 'query';
+------------+-----------+ | Name | Type | +------------+-----------+ | allrecords | PROCEDURE | | Hello | FUNCTION | +------------+-----------+
2 rows in set (0.18 sec)
208 次浏览
众所周知,如果 SUM() 函数没有匹配的行,则返回 NULL,但有时我们希望它返回零而不是 NULL。为此,我们可以使用 MySQL COALESCE() 函数,它接受两个参数,如果第一个参数为 NULL,则返回第二个参数,否则返回第一个参数。为了理解上述概念,考虑一个名为“employee_tbl”的表,其中包含以下记录:
mysql> SELECT * FROM employee_tbl;
+------+------+------------+--------------------+ | id | name | work_date | daily_typing_pages | +------+------+------------+--------------------+ | 1 | John | 2007-01-24 | ... 阅读更多
199 次浏览
可以使用以下查询在 INFORMATION_SCHEMA.ROUTINES 中查看特定数据库中存储过程和存储函数的列表:
mysql> SELECT ROUTINE_TYPE, ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'query';
+--------------+--------------+ | ROUTINE_TYPE | ROUTINE_NAME | +--------------+--------------+ | PROCEDURE | allrecords | | FUNCTION | Hello | +--------------+--------------+
2 rows in set (0.04 sec)
以上查询返回名为“allrecords”的过程和名为“Hello”的函数,它们存储在名为“query”的数据库中。
2K+ 次浏览
通过将 MySQL SUM() 函数与 HAVING 子句一起使用,它根据 HAVING 子句后给定的特定条件过滤结果。为了理解上述概念,考虑一个名为“employee_tbl”的表,其中包含以下记录:
mysql> SELECT * FROM employee_tbl;
+------+------+------------+--------------------+ | id | name | work_date | daily_typing_pages | +------+------+------------+--------------------+ | 1 | John | 2007-01-24 | 250 | | 2 | Ram | 2007-05-27 | 220 | | 3 | Jack | 2007-05-06 | ... 阅读更多
164 次浏览
当我们将 MySQL SUM() 函数与 GROUP BY 子句一起使用时,SUM() 函数会为 GROUP BY 子句中指定的每个组计算总和。将 SUM() 与 GROUP BY 子句一起使用的好处是,我们可以轻松找到特定组的总和。为了理解上述概念,考虑一个名为“employee_tbl”的表,其中包含以下记录:
mysql> SELECT * FROM employee_tbl;
+------+------+------------+--------------------+ | id | name | work_date | daily_typing_pages | +------+------+------------+--------------------+ | 1 | John | 2007-01-24 | 250 | | 2 | Ram ... 阅读更多
3K+ 次浏览
使用 MySQL 存储过程有很多优点和缺点,如下所示:
MySQL 存储过程优点
以下是使用 MySQL 存储过程的优点:
提高应用程序性能 - 众所周知,创建存储过程后,它会被编译并存储在数据库中。但是 MySQL 对存储过程的实现略有不同,这有助于提高应用程序的性能。MySQL 存储过程按需编译。编译存储过程后,MySQL 会将其放入缓存中。并且 MySQL 为每个连接维护自己的存储过程缓存。如果应用程序使用 ... 阅读更多
208 次浏览
在开始编写和使用 MySQL 存储过程之前,必须具备以下先决条件:
MySQL 版本
众所周知,MySQL 5 引入了存储过程,因此首先需要在开始编写和使用存储过程之前检查 MySQL 的版本。可以通过以下查询完成:
mysql> Select VERSION();
+-----------+ | VERSION() | +-----------+ | 5.7.20 | +-----------+
1 row in set (0.10 sec)
当前用户的权限
实际上,CREATE PROCEDURE 和 CREATE FUNCTION 需要 CREATE ROUTINE 权限。默认情况下,MySQL 会自动将 ALTER ROUTINE 和 EXECUTE 权限授予例程创建者。 ... 阅读更多
149 次浏览
当 MySQL SUM() 函数与返回无匹配行的 SELECT 语句一起使用时,则没有任何内容需要计算,它将返回 NULL 作为输出。有时,我们认为它必须返回 0 作为输出,但 0 本身就是一个数字,对于没有匹配的行,返回 0 并没有意义,因此它返回 NULL。为了理解上述概念,考虑一个名为“employee_tbl”的表,其中包含以下记录:
mysql> SELECT * FROM employee_tbl;
+------+------+------------+--------------------+ | id | name | work_date | daily_typing_pages | +------+------+------------+--------------------+ | 1 | John | 2007-01-24 | 250 ... 阅读更多
122 次浏览
可以使用 FIELD() 函数查找存储在 MySQL 表列中作为记录的字符串的索引位置。为了演示它,我们使用名为“websites”的表,其中包含以下数据
示例
mysql> Select * from websites;
+----+---------------+------------------------+ | Id | Purpose | Webaddress | +----+---------------+------------------------+ | 1 | For tutorials | www.tutorialspoint.com | | 2 | For searching | www.google.co.in | | 3 | For email | www.gmail.com | +----+---------------+------------------------+
3 rows in set (0.00 sec)
现在,假设如果我们 ... 阅读更多