找到 6705 篇文章 相关数据库
83 次浏览
我们可以使用 mysql.proc 来查看特定 MySQL 数据库中存储函数的列表以及完整信息,可以通过以下查询:mysql> Select * from mysql.proc where db = 'query' AND type = 'FUNCTION' \G *************************** 1. row *************************** db: query name: factorial type: FUNCTION specific_name: factorial language: SQL sql_data_access: CONTAINS_SQL is_deterministic: YES security_type: DEFINER ... 阅读更多
73 次浏览
我们可以通过以下查询查看特定 MySQL 数据库中存储函数的列表以及其他信息:mysql> SHOW FUNCTION STATUS WHERE db = 'query'\G *************************** 1. row *************************** Db: query Name: factorial Type: FUNCTION Definer: root@localhost Modified: 2021-11-16 14:04:48 Created: 2021-11-16 14:04:48 Security_type: DEFINER ... 阅读更多
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)
现在,假设我们想... 阅读更多