找到关于数据库的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)
现在,假设我们想……阅读更多
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP