目錄
mysql函數的作用是什麼
首頁 資料庫 mysql教程 mysql函數的作用是什麼

mysql函數的作用是什麼

Aug 01, 2022 pm 04:58 PM
mysql

mysql函數的作用是用來實現某些功能運算和完成各種特定操作;使用函數能夠允許標準組件式編程,提高了SQL語句的重用性、共享性和可移植性,可以減少重複編寫程式段的工作量,提高程式的可讀性,提高程式編譯和運作效率,產生品質較高的目標程式碼。

mysql函數的作用是什麼

本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

mysql函數的作用是什麼

函數的作用:

#函數是用來實現某些功能運算和完成各種特定操作的重要手段。

優點:

  • 允許標準元件式編程,提高了SQL語句的重複使用性、共享性和可移植性。

  • 可以減少重複編寫程式段的工作量,提高程式可讀性。

  • 提高程式編譯與運行效率,產生品質較高的目標程式碼,滿足演算法設計的「正確性、可讀性、健全性、效率與低儲存量需求」的基本要求。

  • 能夠實現較快的執行速度,能夠減少網路流量

擴展知識

MySQL資料庫中提供了很豐富的函數,例如我們常用的聚合函數,日期及字串處理函數等。 SELECT語句及其條件式都可以使用這些函數,函數可以幫助使用者更方便的處理表中的數據,使MySQL資料庫的功能更加強大。本篇文章主要為大家介紹幾類常用函數的用法。

1.聚合函數

聚合函數是平時比較常用的一類函數,這裡列舉如下:

COUNT(col)   統計查詢結果的行數

MIN(col)   查詢指定列的最小值

MAX(col)   查詢指定列的最大值

SUM(col)   求和,傳回指定列的總和

AVG(col)   求平均值,傳回指定列資料的平均值

2.數值型函數

數值型函數主要是對數值型資料處理,得到我們想要的結果,常用的幾個列舉如下,具體使用方法大家可以試試看。

ABS(x)   回傳x的絕對值

BIN(x)   回傳x的二進位

CEILING(x)   傳回大於x的最小整數值

EXP(x)   傳回值e(自然對數的底)的x次方

FLOOR(x)   傳回小於x的最大整數值

GREATEST(x1,x2,. ..,xn)   返回集合中最大的值

LEAST(x1,x2,...,xn)   返回集合中最小的值

LN(x)   返回x的自然對數

LOG(x,y)   返回x的以y為底的對數

MOD(x,y)   回傳x/y的模(餘數)

PI()   返回pi的值(圓周率)

RAND()   返回0到1內的隨機值,可以透過提供一個參數(種子)使RAND()隨機數產生器產生一個指定的值

ROUND(x,y)   回傳參數x的四捨五入的有y位小數的值

TRUNCATE(x,y)   回傳數字x截斷為y位小數的結果

一些範例:

# ABS()函数求绝对值
mysql> SELECT ABS(5),ABS(-2.4),ABS(-24),ABS(0);
+--------+-----------+----------+--------+
| ABS(5) | ABS(-2.4) | ABS(-24) | ABS(0) |
+--------+-----------+----------+--------+
| 5 | 2.4 | 24 | 0 |
+--------+-----------+----------+--------+
# 取整函数 CEIL(x) 和 CEILING(x) 的意义相同,返回不小于 x 的最小整数值
mysql> SELECT CEIL(-2.5),CEILING(2.5);
+------------+--------------+
| CEIL(-2.5) | CEILING(2.5) |
+------------+--------------+
| -2 | 3 |
+------------+--------------+
# 求余函数 MOD(x,y) 返回 x 被 y 除后的余数
mysql> SELECT MOD(63,8),MOD(120,10),MOD(15.5,3);
+-----------+-------------+-------------+
| MOD(63,8) | MOD(120,10) | MOD(15.5,3) |
+-----------+-------------+-------------+
| 7 | 0 | 0.5 |
+-----------+-------------+-------------+
# RAND() 函数被调用时,可以产生一个在 0 和 1 之间的随机数
mysql> SELECT RAND(), RAND(), RAND();
+---------------------+--------------------+----------------------+
| RAND() | RAND() | RAND() |
+---------------------+--------------------+----------------------+
| 0.24996517063115273 | 0.9559759106077029 | 0.029984071878701515 |
+---------------------+--------------------+----------------------+
登入後複製

3.字串函數

字串函數可以對字串型別資料進行處理,在程式應用中用處還是比較大的,同樣這裡列舉幾個常用的如下:

LENGTH(s)   計算字串長度函數,傳回字串的位元組長度

CONCAT(s1,s2...,sn)合併字串函數,傳回結果為連接參數所產生的字串,參數可以是一個或多個

INSERT(str,x,y,instr)   將字串str從第x位置開始,y個字元長的子字串替換為字串instr,傳回結果

LOWER(str)   將字串中的字母轉換為小寫

UPPER(str)   將字串中的字母轉換為大寫

LEFT(str,x)   返回字串str中最左邊的x個字元

RIGHT(str,x)   回傳字串str中最右邊的x個字元

TRIM(str)   刪除字串左右兩側的空格

REPLACE   字串取代函數,傳回替換後的新字串

SUBSTRING   截取字串,傳回從指定位置開始的指定長度的字元換

REVERSE(str)   傳回顛倒字串str的結果

一些範例:

# LENGTH(str) 函数的返回值为字符串的字节长度
mysql> SELECT LENGTH('name'),LENGTH('数据库');
+----------------+---------------------+
| LENGTH('name') | LENGTH('数据库') |
+----------------+---------------------+
| 4 | 9 |
+----------------+---------------------+
# CONCAT(sl,s2,...) 函数返回结果为连接参数产生的字符串 若有任何一个参数为 NULL,则返回值为 NULL
mysql> SELECT CONCAT('MySQL','5.7'),CONCAT('MySQL',NULL);
+-----------------------+----------------------+
| CONCAT('MySQL','5.7') | CONCAT('MySQL',NULL) |
+-----------------------+----------------------+
| MySQL5.7 | NULL |
+-----------------------+----------------------+
# INSERT(s1,x,len,s2) 返回字符串 s1,子字符串起始于 x 位置,并且用 len 个字符长的字符串代替 s2
mysql> SELECT INSERT('Football',2,4,'Play') AS col1,
-> INSERT('Football',-1,4,'Play') AS col2,
-> INSERT('Football',3,20,'Play') AS col3;
+----------+----------+--------+
| col1 | col2 | col3 |
+----------+----------+--------+
| FPlayall | Football | FoPlay |
+----------+----------+--------+
# UPPER,LOWER是大小写转换函数
mysql> SELECT LOWER('BLUE'),LOWER('Blue'),UPPER('green'),UPPER('Green');
+---------------+---------------+----------------+----------------+
| LOWER('BLUE') | LOWER('Blue') | UPPER('green') | UPPER('Green') |
+---------------+---------------+----------------+----------------+
| blue | blue | GREEN | GREEN |
+---------------+---------------+----------------+----------------+
# LEFT,RIGHT是截取左边或右边字符串函数
mysql> SELECT LEFT('MySQL',2),RIGHT('MySQL',3);
+-----------------+------------------+
| LEFT('MySQL',2) | RIGHT('MySQL',3) |
+-----------------+------------------+
| My | SQL |
+-----------------+------------------+
# REPLACE(s,s1,s2) 使用字符串 s2 替换字符串 s 中所有的字符串 s1
mysql> SELECT REPLACE('aaa.mysql.com','a','w');
+----------------------------------+
| REPLACE('aaa.mysql.com','a','w') |
+----------------------------------+
| www.mysql.com |
+----------------------------------+
# 函数 SUBSTRING(s,n,len) 带有 len 参数的格式,从字符串 s 返回一个长度同 len 字符相同的子字符串,起始于位置 n
mysql> SELECT SUBSTRING('computer',3) AS col1,
-> SUBSTRING('computer',3,4) AS col2,
-> SUBSTRING('computer',-3) AS col3,
-> SUBSTRING('computer',-5,3) AS col4;
+--------+------+------+------+
| col1 | col2 | col3 | col4 |
+--------+------+------+------+
| mputer | mput | ter | put |
+--------+------+------+------+
登入後複製

建議學習:mysql影片教學

以上是mysql函數的作用是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP 的大數據結構處理技巧 PHP 的大數據結構處理技巧 May 08, 2024 am 10:24 AM

PHP 的大數據結構處理技巧

如何優化 PHP 中的 MySQL 查詢效能? 如何優化 PHP 中的 MySQL 查詢效能? Jun 03, 2024 pm 08:11 PM

如何優化 PHP 中的 MySQL 查詢效能?

如何在 PHP 中使用 MySQL 備份和還原? 如何在 PHP 中使用 MySQL 備份和還原? Jun 03, 2024 pm 12:19 PM

如何在 PHP 中使用 MySQL 備份和還原?

如何使用 PHP 插入資料到 MySQL 表? 如何使用 PHP 插入資料到 MySQL 表? Jun 02, 2024 pm 02:26 PM

如何使用 PHP 插入資料到 MySQL 表?

Java 枚舉類型在資料庫中的應用場景有哪些? Java 枚舉類型在資料庫中的應用場景有哪些? May 05, 2024 am 09:06 AM

Java 枚舉類型在資料庫中的應用場景有哪些?

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 Dec 09, 2024 am 11:42 AM

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤

如何在 PHP 中使用 MySQL 預存程序? 如何在 PHP 中使用 MySQL 預存程序? Jun 02, 2024 pm 02:13 PM

如何在 PHP 中使用 MySQL 預存程序?

如何使用 PHP 建立 MySQL 表? 如何使用 PHP 建立 MySQL 表? Jun 04, 2024 pm 01:57 PM

如何使用 PHP 建立 MySQL 表?

See all articles