找到 6705 篇文章,关于数据库
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)