找到 4219 篇文章 关于 MySQLi
668 次浏览
众所周知,借助 QUOTE() 函数,我们可以将列的值用单引号括起来。通过将 QUOTE() 函数与 UPDATE 子句一起使用,我们可以更新包含已引用值的表。我们需要将列名作为 QUOTE() 函数的参数。以下示例将在将 'examination_btech' 表的 'Course' 列的值用单引号括起来后更新该表。示例 mysql> UPDATE examination_btech SET Course = QUOTE(Course); Query OK, 10 rows affected (0.05 sec) mysql> Select * from examination_btech; +--------+----------+----------+ | RollNo | Name | Course ... 阅读更多
836 次浏览
我们可以通过使用 LPAD() 或 RPAD() 函数以及 UPDATE 子句,在用字符串填充列的值后更新 MySQL 表。以下来自 'examination_btech' 表的示例将使它更清晰 - 示例假设我们想在 'course' 列值的末尾附加字符串 '(CSE)' 并更新表,那么可以使用以下查询来完成 - mysql> Update examination_btech set course = RPAD(Course, 11, '(CSE)'); Query OK, 10 rows affected (0.16 sec) mysql> Select * from examination_btech; +-----------+----------+-------------+ | RollNo | Name ... 阅读更多
116 次浏览
与 LENGTH() 函数一样,MySQL BIT_LENGTH() 函数不是多字节安全的函数。众所周知,多字节安全函数(如 CHAR_LENGTH() 或 CHARACTER_LENGTH())与 BIT_LENGTH() 函数的结果差异尤其与 Unicode 相关,其中大多数字符都使用两个字节编码,或者与 UTF-8 相关,其中字节数可变。如下例所示 - 示例 mysql> Select BIT_LENGTH('tutorialspoint'); +------------------------------+ | BIT_LENGTH('tutorialspoint') | +------------------------------+ | 112 | +------------------------------+ 1 row in set (0.00 sec)以上结果集显示 ... 阅读更多
78 次浏览
我们可以通过以下查询查看特定 MySQL 数据库中存储函数的列表:mysql> SELECT ROUTINE_TYPE, ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'query' AND ROUTINE_TYPE = 'FUNCTION'// +--------------+--------------------+ | ROUTINE_TYPE | ROUTINE_NAME | +--------------+--------------------+ | FUNCTION | factorial | | FUNCTION | Hello | +--------------+--------------------+ 2 rows in set (0.07 sec)
1K+ 次浏览
如果我们想在存储过程中使用预处理语句,则必须将其写在 BEGIN 和 END 块内。为了理解这一点,我们将创建一个示例,通过该示例,我们可以通过将表名作为存储过程的参数来获取表中的所有记录。示例 mysql> DELIMITER // mysql> Create procedure tbl_detail(tab_name Varchar(40)) -> BEGIN -> SET @A:= CONCAT('Select * from', ' ', tab_name); -> Prepare stmt FROM @A; -> EXECUTE stmt; -> END // Query OK, 0 ... 阅读更多
4K+ 次浏览
过程和函数之间最显著的区别在于它们的调用方式和用途不同。除此之外,过程和函数之间还有以下区别:过程不返回值。相反,它通过 CALL 语句被调用以执行操作,例如修改表或处理检索到的记录。另一方面,函数在表达式中被调用,并直接将单个值返回给调用者,以便在表达式中使用。也就是说,函数在表达式中的使用方法与常量、内置函数或 ... 阅读更多
366 次浏览
mysql> DELIMITER // mysql> CREATE PROCEDURE get_factorial(IN N INT) -> BEGIN -> SET @@GLOBAL.max_sp_recursion_depth = 255; -> SET @@session.max_sp_recursion_depth = 255; -> -> CALL factorial_recursive (N, @factorial); -> -> SELECT @factorial; -> END // Query OK, 0 rows affected (0.00 sec) mysql> DELIMITER // mysql> CREATE PROCEDURE factorial_recursive(IN N INT, OUT factorial INT) -> BEGIN -> IF N = 1 THEN -> SET factorial := 1; -> ... 阅读更多
177 次浏览
借助 MySQL MAKE_SET() 函数,我们可以将 MySQL 表中列的值作为一组值返回。为了理解这一点,我们以 Student_Name 表为例,该表包含以下数据:mysql> Select * from Student_Name; +---------+-------+---------+ | FName | Mname | Lname | +---------+-------+---------+ | Rahul | NULL | Singh | | Gaurav | Kumar | NULL | | Harshit | NULL | Khurana | | Yash | Pal | Sharma | +---------+-------+---------+ 4 rows in set (0.00 sec)现在,假设我们想 ... 阅读更多
1K+ 次浏览
如果存储过程调用自身,则称该存储过程为递归存储过程。基本上,这个概念称为递归。MySQL 限制递归是为了减少错误。我们可以通过以下查询来检查此限制:mysql> Show variables LIKE '%recur%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | max_sp_recursion_depth | 0 | +------------------------+-------+ 1 row in set (0.01 sec)我们可以使用以下查询将此值更改为最多 255:mysql> SET @@GLOBAL.max_sp_recursion_depth = 255// Query OK, 0 rows affected (0.00 sec) mysql> Show variables LIKE ... 阅读更多