找到关于 MySQL 的 4379 篇文章
1K+ 次浏览
众所周知,当我们想要返回结果时,函数最有效。因此,当我们创建用于操作表(例如插入或更新值)的存储函数时,它或多或少类似于存储过程。在下面的示例中,我们创建了一个名为“tbl_update”的存储函数,它将更新名为“student_marks”的表中的值。mysql> Select * from student_marks// +---------+------+---------+---------+---------+ | Name | Math | English | Science | History | +---------+------+---------+---------+---------+ | Raman | 95 | 89 | 85 | 81 | ... 阅读更多
1K+ 次浏览
众所周知,当我们想要返回结果时,函数最有效。因此,当我们创建用于操作表(例如插入或更新值)的存储函数时,它或多或少类似于存储过程。示例在下面的示例中,我们创建了一个名为“tbl_insert”的存储函数,它将向名为“student_marks”的表中插入值。mysql> Create Function tbl_insert(S_name Varchar(50), M1 INT, M2 INT, M3 INT, M4 INT) -> RETURNS INT -> DETERMINISTIC -> BEGIN -> INSERT INTO student_marks values(S_name, M1, M2, M3, M4); ... 阅读更多
75 次浏览
可以使用 UNIX_TIMESTAMP() 函数完成,如下所示:mysql> Select UNIX_TIMESTAMP(CONCAT(YEAR(CURDATE()),'-01-01')); +--------------------------------------------------+ | UNIX_TIMESTAMP(CONCAT(YEAR(CURDATE()),'-01-01')) | +--------------------------------------------------+ | 1483209000 | +--------------------------------------------------+ 1 row in set (0.03 sec)可以使用以下查询进行验证:mysql> Select FROM_UNIXTIME(1483209000); +---------------------------+ | FROM_UNIXTIME(1483209000) | +---------------------------+ | 2017-01-01 00:00:00 | +---------------------------+ 1 row in set (0.02 sec)
99 次浏览
为了说明这一点,我们使用名为“vistors”的表的以下示例,该表包含纪元时间,如下所示:mysql> Create table visitors(userid int not null, name varchar(20), epoch int NOT NULL); Query OK, 0 rows affected (0.42 sec) mysql> Insert into visitors Values(1, 'Gaurav', 1358658942); Query OK, 1 row affected (0.04 sec) mysql> Insert into visitors Values(2, 'Raman', 1358659585); Query OK, 1 row affected (0.04 sec) mysql> Select userid, name, FROM_UNIXTIME(epoch) from visitors; +--------+--------+----------------------+ | userid | name | FROM_UNIXTIME(epoch) | +--------+--------+----------------------+ | 1 | Gaurav | 2013-07-24 16:05:42 | | 2 | Raman | 2013-07-24 16:16:25 | +--------+--------+----------------------+ 2 rows in set (0.00 sec)
130 次浏览
分组函数是应用于一组行的函数,或者换句话说,分组函数对值集进行操作。下表列出了 MySQL 分组函数的说明:序号名称和说明1AVG()它返回参数的平均值。2BIT_AND()它返回按位 AND。3BIT_OR它返回按位 OR。4BIT_XOR()它返回按位 XOR。5COUNT()它返回返回的行数。6COUNT(DISTINCT)它返回不同值的个数。7GROUP_CONCAT()它返回一个连接的字符串。8MAX()它返回最大值。9MIN()它返回最小值。10ST()它返回总体标准差。11STDDEV()它返回总体标准差。12STDDEV_POP()它返回总体标准差。13STDDEV_SAMP()它返回样本... 阅读更多
114 次浏览
我们可以使用 ORDER BY 子句中的分组函数对结果集分组进行排序。默认情况下,排序顺序为升序,但我们可以使用 DESC 关键字将其反转。示例mysql> Select designation, YEAR(Doj), count(*) from employees GROUP BY designation, YEAR(DoJ) ORDER BY Count(*) DESC; +-------------+-----------+----------+ | designation | YEAR(Doj) | count(*) | +-------------+-----------+----------+ | Prof | 2009 | 2 | | Asst.Prof | 2015 | 1 | | Asst.Prof | 2016 | 1 | | Prof ... 阅读更多
248 次浏览
众所周知,SOUNDEX() 函数用于返回 soundex(一种用于根据英语发音对名称进行索引的语音算法)字符串的字符串。在下面的示例中,我们从“student_info”表中获取数据,并将 SOUNDEX() 函数与 LIKE 运算符一起使用以从表中检索特定记录:mysql> Select * from Student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Chandigarh | Literature | | 125 | Raman | Shimla ... 阅读更多
181 次浏览
在这种情况下,如果存储函数获得 NULL 值,它将返回 NULL 作为结果。从下面的示例可以看出,在学生“Mohit”的记录中我们有一个 NULL 值。现在,当我们将存储函数“avg_marks”应用于此数据时,它将返回 NULL 作为结果。mysql> Select * from Student_marks; +-------+------+---------+---------+---------+ | Name | Math | English | Science | History | +-------+------+---------+---------+---------+ | Raman | 95 | 89 | 85 | 81 | | Rahul | 90 | ... 阅读更多
382 次浏览
MySQL存储函数可以引用表,但不能使用返回结果集的语句。因此可以说,没有返回结果集的SELECT查询。但是我们可以使用SELECT INTO来解决这个问题。例如,我们正在创建一个名为“Avg_marks”的函数,它使用名为“Student_marks”的表中的动态数据来计算平均分,该表包含以下记录:mysql> Select * from Student_marks; +-------+------+---------+---------+---------+ | Name | Math | English | Science | History | +-------+------+---------+---------+---------+ | Raman | 95 | 89 | 85 | ... 阅读更多
浏览量:322
借助SHOW CREATE FUNCTION语句,我们可以查看存储函数的源代码。为了便于理解,我们在查询中使用了名为Hello()的存储函数,如下所示:mysql> SHOW CREATE FUNCTION Hello\G *************************** 1. row *************************** Function: Hello sql_mode: ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION Create Function: CREATE DEFINER=`root`@`localhost` FUNCTION `Hello`(S Varchar(20)) RETURNS varchar(20) CHARSET latin1 DETERMINISTIC RETURN CONCAT('Hello, ', S, '!') character_set_client: cp850 collation_connection: cp850_general_ci Database Collation: latin1_swedish_ci 1 row in set (0.00 sec)阅读更多