找到 4379 篇文章 关于 MySQL
207 次浏览
LOAD DATA此语句用于将数据文件中的数据导入到我们的数据库中。它直接从文件中读取数据记录并将其插入到表中。其语法如下:语法LOAD DATA LOCAL INFILE '[path/][file_name]' INTO TABLE [table_name ];这里,path 是文件的地址。file_name 是 .txt 文件的名称table_name 是要加载数据的表。为了说明这个概念,我们在 'A.txt' 中有以下数据(以制表符分隔),其路径为 d:/A.txt:100 John USA 10000 101 Paul UK 12000 102 Henry NZ 11000 103 Rick ... 阅读更多
92 次浏览
假设我们有以下名为 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 | | ... 阅读更多
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)