找到 4379 篇文章 关于 MySQL
362 次查看
假设我们当前使用名为“query”的数据库,其中包含以下表:mysql> Show tables in query; +-----------------+ | Tables_in_query | +-----------------+ | student_detail | | student_info | +-----------------+ 2 rows in set (0.00 sec) 现在,以下是一个存储过程,它将接受数据库的名称作为参数,并为我们提供具有详细信息的表列表:mysql> DELIMITER// mysql> CREATE procedure tb_list(db_name varchar(40)) -> BEGIN -> SET @z := CONCAT('Select * from information_schema.tables WHERE table_schema = ', '\'', db_name, '\''); -> Prepare stmt from @z; ... 阅读更多
71 次查看
假设我们当前使用名为“query”的数据库,其中包含以下表:mysql> Show tables in query; +-----------------+ | Tables_in_query | +-----------------+ | student_detail | | student_info | +-----------------+ 2 rows in set (0.00 sec) 现在,以下是一个存储过程,它将为我们提供具有详细信息的表列表:mysql> DELIMITER// mysql> CREATE procedure tablelist() -> BEGIN -> Select * from Information_schema.tables WHERE table_schema = 'query'; -> END // Query OK, 0 rows affected (0.06 sec) mysql> DELIMITER; mysql> CALL tablelist()\G *************************** 1. row *************************** ... 阅读更多
82 次查看
MySQL REVERSE() 函数可以用于反转字符串。以下示例将演示它:mysql> Select REVERSE('Tutorialspoint'); +---------------------------+ | REVERSE('Tutorialspoint') | +---------------------------+ | tniopslairotuT | +---------------------------+ 1 row in set (0.00 sec) mysql> Select Reverse('10-11-12'); +---------------------+ | Reverse('10-11-12') | +---------------------+ | 21-11-01 | +---------------------+ 1 row in set (0.00 sec)
360 次查看
我们可以通过将第一个参数作为列名来将 INTERVAL() 函数与表的列一起使用。在这种情况下,该列中的所有值都将与作为 INTERVAL() 函数其他参数给出的值进行比较,并根据比较结果提供结果集。为了理解这一点,我们将使用来自 employee 表的数据,如下所示:mysql> Select* from employee568; +----+--------+--------+ | ID | Name | Salary | +----+--------+--------+ | 1 | Gaurav | 50000 | | 2 | Rahul | 20000 | | ... 阅读更多
98 次查看
如果 INTERVAL() 函数的第一个参数为 NULL,则 MySQL 返回 -1 作为输出。以下示例将演示它:mysql> Select INTERVAL(NULL, 20, 32, 38, 40, 50, 55); +--------------------------------------+ | INTERVAL(NULL, 20, 32, 38, 40, 50, 55) | +--------------------------------------+ | -1 | +--------------------------------------+ 1 row in set (0.00 sec)即使任何其他参数与第一个参数一起为 NULL,它也将返回 -1。mysql> Select INTERVAL(NULL, 20, 32, NULL, 40, 50, NULL); +--------------------------------------+ | INTERVAL(NULL, 20, 32, NULL, 40, 50, NULL) ... 阅读更多
284 次查看
例如,如果我们想通过将表名作为存储过程的参数来查看表的所有记录,那么以下示例将创建一个名为“details”的过程,该过程接受表名作为其参数:mysql> DELIMITER // mysql> Create procedure details(tab_name Varchar(40)) -> BEGIN -> SET @t:= CONCAT('Select * from', ' ', tab_name); -> Prepare stmt FROM @t; -> EXECUTE stmt; -> END // Query OK, 0 rows affected (0.00 sec) 现在通过给出表名作为其参数来调用此过程,它将 ... 阅读更多
314 次查看
以下示例将创建一个名为“tabledetails”的存储过程,该过程提供数据库中特定表的详细信息。示例
mysql> DELIMITER //
mysql> Create Procedure tabledetails()
-> BEGIN
-> DESCRIBE Student_detail;
-> END //
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;
mysql> CALL tabledetails;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| Studentid | int(11) | NO | PRI | NULL | |
| StudentName | varchar(20) | YES | | NULL | |
| address | varchar(20) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
Query OK, 0 rows affected (0.04 sec)