MySql函數大全<三>

五、 全文搜索功能函數


 a)函數 MATCH (col1,col2,...) AGAINST (expr [IN BOOLEAN MODE | WITH QUERY EXPANSION])


 六、 加密函數


 a)函數 AES_ENCRYPT(str ,key_str ) , AES_DECRYPT(crypt_str ,key_str )


 函數使用說明:這些函數允許使用官方 AES 進行加密和數據加密 ( 高級加密標準 ) 算法 , 即以前人們所熟知的 “Rijndael” 。 保密關鍵字的長度爲 128 比特,不過你可以通過改變源而將其延長到 256比特。我們選擇了 128 比特的原因是它的速度要快得多,且對於大多數用途而言這個保密程度已經夠用。


 b)函數DECODE(crypt_str ,pass_str )


 函數使用說明:使用 pass_str 作爲密碼,解密加密字符串 crypt_str , crypt_str 應該是由 ENCODE() 返回的字符串。


 c)函數 ENCODE(str ,pass_str )


 函數使用說明:使用 pass_str 作爲密碼,解密 str 。 使用 DECODE() 解密結果。


 d)函數 DES_DECRYPT(crypt_str [,key_str ])


 函數使用說明:使用 DES_ENCRYPT() 加密一個字符串。若出現錯誤,這個函數會返回 NULL 。


 e)函數 DES_ENCRYPT(str [,(key_num |key_str )])


 函數使用說明:用 Triple-DES 算法給出的關鍵字加密字符串。若出現錯誤,這個函數會返回 NULL 。


 f)函數 ENCRYPT(str [,salt ])


 函數使用說明:使用 Unix crypt() 系統調用加密 str 。 salt 參數應爲一個至少包含 2 個字符的字符串。若沒有給出 salt 參數,則使用任意值。


 g)函數 MD5(str )


 函數使用說明:爲字符串算出一個 MD5 128 比特檢查和。該值以 32 位十六進制數字的二進制字符串的形式返回 , 若參數爲 NULL 則會返回 NULL 。例如,返回值可被用作散列關鍵字


 h)函數 OLD_PASSWORD(str )


 函數使用說明:當 PASSWORD() 的執行變爲改善安全性時, OLD_PASSWORD() 會被添加到 MySQL 。 OLD_PASSWORD() 返回從前的 PASSWORD() 執行值 ( 4.1 之前 ) ,同時允許你爲任何 4.1之前的需要連接到你的 5.1 版本 MySQL 服務器前客戶端設置密碼,從而不至於將它們切斷


 i)函數PASSWORD(str )


 函數使用說明:從原文密碼str 計算並返回密碼字符串,當參數爲 NULL 時返回 NULL 。這個函數用於用戶授權表的Password 列中的加密MySQL 密碼存儲


 七、 信息函數


 a)函數 BENCHMARK(count ,expr )


 函數使用說明: BENCHMARK() 函數重複 count 次執行表達式 expr 。 它可以被用於計算   MySQL 處理表達式的速度。結果值通常爲 0 。另一種用處來自 mysql 客戶端內部 , 能夠報告問詢執行的次數


 b)函數 CHARSET(str )


 函數使用說明:返回字符串自變量的字符集。


 c)函數 COERCIBILITY(str )


函數使用說明:返回字符串自變量的整序可壓縮性值。


 d)函數 COLLATION(str )


 函數使用說明:返回惠字符串參數的排序方式。


 e)函數 CONNECTION_ID()


 函數使用說明:返回對於連接的連接 ID ( 線程 ID) 。每個連接都有各自的唯一 ID 。


 f)函數 CURRENT_USER, CURRENT_USER()


 函數使用說明:返回當前話路被驗證的用戶名和主機名組合。這個值符合確定你的存取權限的 MySQL 賬戶。在被指定 SQL SECURITY DEFINER 特徵的存儲程序內, CURRENT_USER() 返回程序的創建者


 g)函數 DATABASE()


 函數使用說明:返回使用 utf8 字符集的默認 ( 當前 ) 數據庫名。在存儲程序裏,默認數據庫是同該程序向關聯的數據庫,但並不一定與調用語境的默認數據庫相同。


 h)    函數 FOUND_ROWS()


 函數使用說明: A SELECT 語句可能包括一個 LIMIT 子句,用來限***務器返回客戶端的行數。在有些情況下,需要不用再次運行該語句而得知在沒有 LIMIT 時到底該語句返回了多少行。爲了知道這個行數 , 包括在 SELECT 語句中選擇   SQL_CALC_FOUND_ROWS ,隨後調用 FOUND_ROWS()


 i)函數 LAST_INSERT_ID() LAST_INSERT_ID(expr )


 函數使用說明:自動返回最後一個 INSERT 或 UPDATE 問詢爲 AUTO_INCREMENT 列設置的第一個 發生的值。


 j)函數 ROW_COUNT()


 函數使用說明: ROW_COUNT() 返回被前面語句升級的、插入的或刪除的行數。 這個行數和 mysql 客戶端顯示的行數及 mysql_affected_rows() C API 函數返回的值相同。


 k)函數 SCHEMA()


 函數使用說明:這個函數和 DATABASE() 具有相同的意義


 l)函數 SESSION_USER()


 函數使用說明: SESSION_USER() 和 USER() 具有相同的意義。


 m)函數 SYSTEM_USER()


 函數使用說明: SYSTEM_USER() 合 USER() 具有相同的意義


 n)函數 USER()


 函數使用說明:返回當前 MySQL 用戶名和機主名


 o)函數 VERSION()


 函數使用說明:返回指示 MySQL 服務器版本的字符串。這個字符串使用 utf8 字符集。


 八、 其他函數


 a)函數 DEFAULT(col_name )


 函數使用說明:返回一個表列的默認值。若該列沒有默認值則會產生錯誤。


 b)函數 FORMAT(X ,D )


 函數使用說明:將數字 X 的格式寫爲 '#,###,###.##', 以四捨五入的方式保留小數點後 D 位, 並將結果以字符串的形式返回。若   D 爲 0, 則返回結果不帶有小數點,或不含小數部分。


 c)函數 GET_LOCK(str ,timeout )


 函數使用說明:設法使用字符串 str 給定的名字得到一個鎖, 超時爲 timeout 秒。若成功得到鎖,則返回 1 ,若操作超時則返回 0 ( 例如 , 由於另一個客戶端已提前封鎖了這個名字 ), 若發生錯誤則返回NULL ( 諸如缺乏記憶或線程 mysqladmin kill 被斷開 ) 。假如你有一個用 GET_LOCK() 得到的鎖,當你執行 RELEASE_LOCK() 或你的連接斷開 ( 正常或非正常 ) 時,這個鎖就會解除


 d)函數 INET_ATON(expr )


 函數使用說明:給出一個作爲字符串的網絡地址的點地址表示,返回一個代表該地址數值的整數。地址可以是 4 或 8 比特地址。


 e)函數 INET_NTOA(expr )


 函數使用說明:給定一個數字網絡地址 (4 或 8 比特 ), 返回作爲字符串的該地址的電地址表示


 f)函數 IS_FREE_LOCK(str )


 函數使用說明:檢查名爲 str 的鎖是否可以使用 ( 換言之 , 沒有被封鎖 ) 。若鎖可以使用,則返回   1 ( 沒有人在用這個鎖 ), 若這個鎖正在被使用,則返回 0 ,出現錯誤則返回 NULL ( 諸如不正確的參數 ) 。


 g)函數 IS_USED_LOCK(str )


 函數使用說明:檢查名爲 str 的鎖是否正在被使用 ( 換言之 , 被封鎖 ) 。若被封鎖,則返回使用該鎖的客戶端的連接標識符。否則返回 NULL 。


 h)函數 MASTER_POS_WAIT(log_name ,log_pos [,timeout ])


 函數使用說明:該函數對於控制主從同步很有用處。它會持續封鎖,直到從設備閱讀和應用主機記錄中所有補充資料到指定的位置。返回值是其爲到達指定位置而必須等待的記錄事件的數目。若從設備 SQL線程沒有被啓動、從設備主機信息尚未初始化、參數不正確或出現任何錯誤,則該函數返回 NULL 。若超時時間被超過,則返回 -1 。若在 MASTER_POS_WAIT() 等待期間,從設備 SQL 線程中止,則該函數返回 NULL 。若從設備由指定位置通過,則函數會立即返回結果。


 i)函數 NAME_CONST(name ,value )


函數使用說明:返回給定值。 當用來產生一個結果集合列時 , NAME_CONST() 促使該列使用給定名稱。


j) 函數 RELEASE_LOCK(str )


 函數使用說明:解開被 GET_LOCK() 獲取的,用字符串 str 所命名的鎖。若鎖被解開,則返回   1 ,若改線程尚未創建鎖,則返回 0 ( 此時鎖沒有被解開 ), 若命名的鎖不存在,則返回 NULL 。若該鎖從未被對 GET_LOCK() 的調用獲取,或鎖已經被提前解開,則該鎖不存在。


 k)函數 SLEEP(duration )


 函數使用說明:睡眠 ( 暫停 ) 時間爲 duration 參數給定的秒數,然後返回 0 。若 SLEEP() 被中斷 , 它會返回 1 。 duration 或許或包括一個給定的以微秒爲單位的分數部分。


 l)函數 UUID()


 函數使用說明:返回一個通用唯一標識符 (UUID) , UUID 被設計成一個在時間和空間上都獨一無二的數字。 2 個對 UUID() 的調用應產生 2 個不同的值,即使這些調用的執行是在兩個互不相連的單獨電腦上進行。


 m)函數 VALUES(col_name )


 函數使用說明:在一個 INSERT … ON DUPLICATE KEY UPDATE … 語句中,你可以在 UPDATE 子句中使用 VALUES(col_name ) 函數,用來訪問來自該語句的 INSERT 部分的列值。換言之,UPDATE 子句中的 VALUES(col_name ) 訪問需要被插入的 col_name 的值 , 並不會發生重複鍵衝突。這個函數在多行插入中特別有用。   VALUES() 函數只在 INSERT ... UPDATE 語句中有意義,而在其它情況下只會返回 NULL


  九、 聚合函數


 a)函數 AVG([DISTINCT] expr )


 函數使用說明:返回 expr 的平均值。 DISTINCT 選項可用於返回 expr 的不同值的平均值。


 b)函數 BIT_AND(expr )


 函數使用說明:返回expr 中所有比特的 bitwise AND 。計算執行的精確度爲64 比特(BIGINT) 。若找不到匹配的行,則這個函數返回18446744073709551615 。( 這是無符號 BIGINT 值,所有比特被設置爲 1 )。


 c)函數 BIT_OR(expr )


 函數使用說明:返回expr 中所有比特的bitwise OR 。計算執行的精確度爲64 比特(BIGINT) 。若找不到匹配的行,則函數返回 0 。


 d)函數BIT_XOR(expr )


 函數使用說明:返回expr 中所有比特的bitwise XOR 。計算執行的精確度爲64 比特(BIGINT) 。若找不到匹配的行,則函數返回 0 。


 e)函數 COUNT(expr )


 函數使用說明:返回SELECT 語句檢索到的行中非NULL 值的數目。若找不到匹配的行,則COUNT() 返回 0


 f)函數 COUNT(DISTINCT expr ,[expr ...])


 函數使用說明:返回不同的非NULL 值數目。若找不到匹配的項,則COUNT(DISTINCT) 返回 0


 g)函數 GROUP_CONCAT(expr )


 函數使用說明:該函數返回帶有來自一個組的連接的非NULL 值的字符串結果。其完整的語法如下所示:


GROUP_CONCAT([DISTINCT] expr [,expr ...]


 [ORDER BY {unsigned_integer | col_name | expr }


                  [ASC | DESC] [,col_name ...]]


 [SEPARATOR str_val ])


 h)函數 MIN([DISTINCT] expr ), MAX([DISTINCT] expr )


 函數使用說明:返回 expr 的最小值和最大值。 MIN() 和 MAX() 的取值可以是一個字符串參數;在這些情況下, 它們返回最小或最大字符串值。


 i)函數 STD(expr ) STDDEV(expr )


 函數使用說明:返回 expr 的總體標準偏差。這是標準 SQL 的延伸。這個函數的 STDDEV() 形式用來提供和 Oracle 的兼容性。可使用標準 SQL 函數 STDDEV_POP() 進行代替


 j)函數 STDDEV_POP(expr )


 函數使用說明:返回expr 的總體標準偏差(VAR_POP() 的平方根) 。你也可以使用 STD() 或STDDEV(), 它們具有相同的意義,然而不是標準的 SQL 。若找不到匹配的行,則STDDEV_POP() 返回NULL


 k)函數 STDDEV_SAMP(expr )


 函數使用說明:返回expr 的樣本標準差 ( VAR_SAMP() 的平方根) 。若找不到匹配的行,則STDDEV_SAMP() 返回 NULL


l)函數 SUM([DISTINCT] expr )


 函數使用說明:返回expr 的總數。 若返回集合中無任何行,則 SUM() 返回NULL 。DISTINCT 關鍵詞可用於 MySQL 5.1 中,求得expr 不同值的總和。 若找不到匹配的行,則SUM() 返回 NULL


 m)函數 VAR_POP(expr )


函數使用說明:返回 expr 總體標準方差。它將行視爲總體,而不是一個樣本, 所以它將行數作爲分母。你也可以使用 VARIANCE(), 它具有相同的意義然而不是 標準的 SQL


n)函數 VAR_SAMP(expr )


 函數使用說明:返回expr 的樣本方差。更確切的說,分母的數字是行數減去1 。若找不到匹配的行,則VAR_SAMP() 返回NULL


 o)函數VARIANCE(expr )


 函數使用說明:返回expr 的總體標準方差。這是標準SQL 的延伸。可使用標準SQL 函數 VAR_POP() 進行代替。若找不到匹配的項,則VARIANCE() 返回NULL


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章