找到 4219 篇文章 关于 MySQLi
2K+ 次浏览
假设我们有如下名为stock_item的表,其中quantity列包含重复值,例如,对于项目名称‘Notebooks’和‘Pencil’,quantity列包含重复值‘40’,对于项目‘Shirts’,‘Shoes’和‘Trousers’,quantity列包含重复值‘29’,如下表所示。mysql> Select * from stock_item; +------------+----------+ | item_name |quantity | +------------+----------+ | Calculator | 89 | | Notebooks | 40 | | Pencil | 40 | | Pens | 32 | | ... 阅读更多
1K+ 次浏览
以下是一个计算MySQL查询受影响的行数的过程:mysql> Delimiter // mysql> CREATE PROCEDURE `query`.`row_cnt` (IN command VarChar(60000)) -> BEGIN -> SET @query = command; -> PREPARE stmt FROM @query; -> EXECUTE stmt; -> SELECT ROW_COUNT() AS 'Affected rows'; -> END // Query OK, 0 rows affected (0.00 sec) mysql> Delimiter ; mysql> Create table Testing123(First Varchar(20), Second Varchar(20)); Query OK, 0 rows affected (0.48 sec) mysql> CALL row_cnt("INSERT INTO testing123(First,Second) Values('Testing First','Testing Second');"); +---------------+ | Affected rows | +---------------+ | 1 | +---------------+ 1 row in set (0.10 sec) Query OK, 0 rows affected (0.11 sec)
168 次浏览
子查询最好定义为查询中的查询。子查询使您可以编写查询,这些查询根据在查询运行时实际生成的条件选择数据行。更正式地说,它是在另一个SELECT语句的一个子句中使用SELECT语句。实际上,一个子查询可以包含在另一个子查询中,另一个子查询中,依此类推。子查询也可以嵌套在INSERT,UPDATE和DELETE语句中。子查询必须用括号括起来。子查询可以使用在允许表达式的地方... 阅读更多
546 次浏览
借助以下查询,我们可以创建一个存储过程来生成五个随机数:mysql> DELIMITER // mysql> DROP PROCEDURE IF EXISTS RandomNumbers; -> CREATE PROCEDURE RandomNumbers() -> BEGIN -> SET @i = 0; -> REPEAT -> SELECT RAND() AS 'Random Number'; -> SET @i = @i + 1; -> UNTIL @i >=5 END REPEAT; -> END -> // Query OK, 0 rows affected (0.16 sec) Query OK, 0 rows affected (0.16 sec)现在,调用该过程来... 阅读更多
349 次浏览
如果我们拥有ALTER ROUTINE权限,那么我们可以使用DROP FUNCTION语句删除MySQL存储函数。其语法如下:语法DROP FUNCTION [IF EXISTS] function_name这里function_name是我们想要从数据库中删除的函数的名称。示例mysql> DROP FUNCTION if exists Hello1; Query OK, 0 rows affected (0.70 sec)现在删除函数后,检查CREATE FUNCTION语句,我们会得到如下错误:mysql> SHOW CREATE FUNCTION Hello1; ERROR 1305 (42000): Function Hello1 does not exist.
288 次浏览
如果我们拥有ALTER ROUTINE权限,那么我们可以使用ALTER FUNCTION查询来修改MySQL存储函数。其语法如下:语法ALTER FUNCTION function_name [characteristic ...] characteristic: { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } | COMMENT 'string'这里function_name是我们想要修改的函数的名称。ALTER FUNCTION语句可以更改上面语法中定义的存储函数的特性。我们可以在一个ALTER FUNCTION语句中指定多个更改。但是我们... 阅读更多
1K+ 次浏览
以下是一个可以计算给定数字阶乘的存储函数的示例:CREATE FUNCTION factorial (n DECIMAL(3,0)) RETURNS DECIMAL(20,0) DETERMINISTIC BEGIN DECLARE factorial DECIMAL(20,0) DEFAULT 1; DECLARE counter DECIMAL(3,0); SET counter = n; factorial_loop: REPEAT SET factorial = factorial * counter; SET counter = counter - 1; UNTIL counter = 1 END REPEAT; RETURN factorial; END // mysql> Select Factorial(5)// +--------------+ | Factorial(5) | +--------------+ | 120 | +--------------+ 1 row in set (0.27 sec) mysql> Select Factorial(6)// +--------------+ | Factorial(6) | +--------------+ | 720 | +--------------+ 1 row in set (0.00 sec)
1K+ 次浏览
众所周知,当我们想要返回结果时,函数最适合使用。因此,当我们创建用于操作表(例如插入或更新值)的存储函数时,它或多或少类似于存储过程。在下面的例子中,我们创建了一个名为“tbl_update”的存储函数,它将更新名为“student_marks”的表中的值。mysql> Select * from student_marks// +---------+------+---------+---------+---------+ | Name | Math | English | Science | History | +---------+------+---------+---------+---------+ | Raman | 95 | 89 | 85 | 81 | ... 阅读更多
1K+ 次浏览
众所周知,当我们想要返回结果时,函数最适合使用。因此,当我们创建用于操作表(例如插入或更新值)的存储函数时,它或多或少类似于存储过程。示例在下面的示例中,我们创建了一个名为“tbl_insert”的存储函数,它将向名为“student_marks”的表中插入值。mysql> Create Function tbl_insert(S_name Varchar(50), M1 INT, M2 INT, M3 INT, M4 INT) -> RETURNS INT -> DETERMINISTIC -> BEGIN -> INSERT INTO student_marks values(S_name, M1, M2, M3, M4); ... 阅读更多