黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

MySQL基礎教程12 —— 函數之其他函數

瀏覽:30日期:2023-10-17 17:46:59
1.位函數

對于比特運算,MySQL使用BIGINT (64比特)算法,因此這些操作符的最大范圍是64比特。

|

Bitwise OR:

mysql>SELECT 29 | 15;

-> 31

其結果為一個64比特無符號整數。

&

Bitwise AND:

mysql>SELECT 29 & 15;

-> 13

其結果為一個64比特無符號整數。

^

Bitwise XOR:

mysql>SELECT 1 ^ 1;

-> 0

mysql>SELECT 1 ^ 0;

-> 1

mysql>SELECT 11 ^ 3;

-> 8

結果為一個64比特無符號整數。

<<

把一個longlong (BIGINT)數左移兩位。

mysql>SELECT 1 << 2;

-> 4

其結果為一個64比特無符號整數。

>>

把一個longlong (BIGINT)數右移兩位。

mysql>SELECT 4 >> 2;

-> 1

其結果為一個64比特無符號整數。

~

反轉所有比特。

mysql>SELECT 5 & ~1;

-> 4

其結果為一個64比特無符號整數。

BIT_COUNT(N)

返回參數N中所設置的比特數

mysql>SELECT BIT_COUNT(29);

-> 4

2.加密函數

本節介紹了加密和加密值。若你想要儲存一些由可能包含任意字節值的加密函數返回的結果,使用BLOB列而不是CHAR或VARCHAR列,從而避免由于結尾空格的刪除而改變一些數據值的潛在問題。

AES_ENCRYPT(str,key_str) , AES_DECRYPT(crypt_str,key_str)

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

輸入參數可以為任何長度。若任何一個參數為NULL,則函數的結果也是NULL。

因為AES是塊級算法,使用填充將不均衡長度字符串編碼,這樣結果字符串的長度的算法為16 * (trunc(string_length/ 16) + 1)。

若AES_DECRYPT()檢測到無效數據或不正確填充,它會返回NULL。然而,若輸入的資料或密碼無效時,AES_DECRYPT()有可能返回一個非NULL值(可能為無用信息)。

你可以通過修改你的問詢,從而使用AES函數以加密形式來存儲數據:

INSERT INTO t VALUES (1,AES_ENCRYPT(’text’,’password’));

AES_ENCRYPT()和AES_DECRYPT()可以被看作MySQL中普遍通用的密碼最安全的加密函數。

DECODE(crypt_str,pass_str)

使用pass_str作為密碼,解密加密字符串crypt_str,crypt_str應該是由ENCODE()返回的字符串。

ENCODE(str,pass_str)

使用pass_str作為密碼,解密str。 使用DECODE()解密結果。

結果是一個和str長度相同的二進制字符串。若你想要將其保留在一個列中,可使用BLOB列類型。

DES_DECRYPT(crypt_str[,key_str])

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

注意,這個函數只有當MySQL在SSL的支持下配置完畢時才會運作。

假如沒有給定key_str參數, DES_DECRYPT()會首先檢查加密字符串的第一個字節, 從而確定用來加密原始字符串的DES密碼關鍵字數字,之后從DES關鍵字文件中讀取關鍵字從而解密信息。為使其運行,用戶必須享有SUPER特權。可以選擇--des-key-file服務器指定關鍵字文件。

假如你向這個函數傳遞一個key_str參數,該字符串被用作解密信息的關鍵字。

若crypt_str參數看起來不是一個加密字符串,MySQL會返回給定的crypt_str。

DES_ENCRYPT(str[,(key_num|key_str)])

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

注意,這個函數只有當MySQL在SSL的支持下配置完畢后才會運行。

使用的加密關鍵字的選擇基于第二個到DES_ENCRYPT()的參數,假如給定:

參數說明無參數使用來自DES關鍵字文件的第一個關鍵字。key_num使用DES關鍵字文件給出的關鍵字數字(0-9)。key_str使用給出的關鍵字字符串為str加密。

選擇--des-key-file服務器指定關鍵字文件。

返回字符串是一個二進制字符串,其中第一個字符為CHAR(128 | key_num)。

加上128使得識別加密關鍵字更加容易。若你使用一個字符串關鍵字,則key_num為127。

結果的字符串長度為new_len=orig_len+ (8-(orig_len% 8))+1。

DES關鍵字文件中的每一行都具有如下格式:

key_numdes_key_str

每個key_num必須是一個從0到0范圍內的數字。文件中行的排列順序是任意的。des_key_str是用來加密信息的字符串。在數字和關鍵字之間應該至少有一個空格。若你未指定任何到DES_ENCRYPT()的關鍵字參數,則第一個關鍵字為默認的使用關鍵字。

使用FLUSH DES_KEY_FILE語句,你可以讓MySQL從關鍵字文件讀取新的關鍵字值。這要求你享有RELOAD特權。

擁有一套默認關鍵字的一個好處就是它向應用程序提供了一個檢驗加密列值的方式,而無須向最終用戶提供解密這些值的權力。

mysql>SELECT customer_address FROM customer_table

> WHERE crypted_credit_card = DES_ENCRYPT(’credit_card_number’);

ENCRYPT(str[,salt])

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

mysql>SELECT ENCRYPT(’hello’);

-> ’VxuFAJXVARROc’

至少在一些系統中,ENCRYPT()除了str的前八位字符之外會忽略所有內容。這個行為由下劃線的crypt()系統調用的執行所決定。

假如crypt()在你的系統中不可用(正如在Windows系統), ENCRYPT()則會始終返回NULL。鑒于這個原因,我們向你推薦使用MD5()或SHA1()來代替,因為這兩個函數適合所有的平臺。

MD5(str)

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

mysql>SELECT MD5(’testing’);

-> ’ae2b1fca515949e5d54fb22b8ed95575’

這是'RSA Data Security, Inc. MD5 Message-Digest Algorithm.'

假如你想要將這個值轉化為大寫字母,參見“Cast函數和操作符”中BINARY操作符項中給出的二進制字符串轉換。

OLD_PASSWORD(str)

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

PASSWORD(str)

從原文密碼str計算并返回密碼字符串,當參數為NULL時返回NULL。這個函數用于用戶授權表的Password列中的加密MySQL密碼存儲

mysql>SELECT PASSWORD(’badpwd’);

-> ’7f84554057dd964b’

PASSWORD()加密是單向的(不可逆)。

PASSWORD()執行密碼加密與Unix密碼被加密的方式不同。請參見ENCRYPT()。

注釋: PASSWORD()函數在MySQL服務器中的鑒定系統使用;你不應將它用在你個人的應用程序中。為達到同樣目的,可使用MD5()或SHA1()代替。更多關于在您的應用程序中處理密碼及安全鑒定的信息見RFC 2195

SHA1(str) SHA(str)

為字符串算出一個SHA1 160比特檢查和,如RFC 3174 (安全散列算法)中所述。該值被作為40位十六進制數字返回,而當參數為NULL時則返回NULL。這個函數的一個可能的用處就在于其作為散列關鍵字。你也可以將其作為存儲密碼的密碼安全函數使用。

mysql>SELECT SHA1(’abc’);

-> ’a9993e364706816aba3e25717850c26c9cd0d89d’

SHA1()可以被視為一個密碼更加安全的函數,相當于 MD5()。SHA()和SHA1()具有相同的意義。

3.信息函數BENCHMARK(count,expr)

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

mysql> SELECT BENCHMARK(1000000,ENCODE(’hello’,’goodbye’));

+----------------------------------------------+| BENCHMARK(1000000,ENCODE(’hello’,’goodbye’)) |+----------------------------------------------+| 0 |+----------------------------------------------+1 row in set (4.74 sec)

此處報告的時間是客戶端上的共用時間,而不是服務器端上的CPU時間。建議執行多遍BENCHMARK(),并解釋與服務器機器負荷程度有關的結果。

·CHARSET(str)

返回字符串自變量的字符集。

mysql> SELECT CHARSET(’abc’); -> ’latin1’mysql> SELECT CHARSET(CONVERT(’abc’ USING utf8)); -> ’utf8’mysql> SELECT CHARSET(USER()); -> ’utf8’

·COERCIBILITY(str)

返回字符串自變量的整序可壓縮性值。

mysql> SELECT COERCIBILITY(’abc’ COLLATE latin1_swedish_ci); -> 0mysql> SELECT COERCIBILITY(USER()); -> 3mysql> SELECT COERCIBILITY(’abc’); -> 4

返回值具有如下意義:

可壓縮性意義舉例0明確排序帶有COLLATE子句的值1無排序不同排序的字符串連接2明確排序列值3系統常量USER()返回值4可壓縮文字字符串5可忽略NULL得來的NULL或一個表達式

下方值得優先級較高。

COLLATION(str)

返回惠字符串參數的排序方式。

mysql>SELECT COLLATION(’abc’);

-> ’latin1_swedish_ci’

mysql>SELECT COLLATION(_utf8’abc’);

-> ’utf8_general_ci’

CONNECTION_ID()

返回對于連接的連接ID (線程ID)。每個連接都有各自的唯一ID。

mysql>SELECT CONNECTION_ID();

-> 23786

CURRENT_USER, CURRENT_USER()

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

CURRENT_USER()的值可以和USER()的值有所不同。

mysql>SELECT USER();

-> ’davida@localhost’

mysql>SELECT * FROM mysql.user;

ERROR 1044: Access denied for user ’’@’localhost’ to

database ’mysql’

mysql>SELECT CURRENT_USER();

-> ’@localhost’

這個例子解釋了雖然客戶端指定了一個davida用戶名(正如USER()函數的值所指示的),服務器卻使用一個匿名的用戶賬戶確認該客戶端(見CURRENT_USER()值得空用戶名部分)。這種情況發生的一個原因是One在向davida的授權列表中沒有足夠的賬戶。

CURRENT_USER()返回的字符串使用utf8字符集。

DATABASE()

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

mysql>SELECT DATABASE();

-> ’test’

若沒有默認數據庫, DATABASE()返回NULL。

FOUND_ROWS()

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

mysql>SELECT SQL_CALC_FOUND_ROWS * FROMtbl_name

->WHERE id > 100 LIMIT 10;

mysql>SELECT FOUND_ROWS();

第二個SELECT返回一個數字,指示了在沒有LIMIT子句的情況下,第一個SELECT返回了多少行(若上述的SELECT語句不包括SQL_CALC_FOUND_ROWS選項,則使用LIMIT和不使用時,FOUND_ROWS()可能會返回不同的結果)。

通過FOUND_ROWS()的有效行數是瞬時的,并且不用于越過SELECT SQL_CALC_FOUND_ROWS語句后面的語句。若你需要稍候參閱這個值,那么將其保存:

mysql>SELECT SQL_CALC_FOUND_ROWS * FROM ... ;

mysql>SET @rows = FOUND_ROWS();

假如你正在使用SELECT SQL_CALC_FOUND_ROWS, MySQL必須計算出在全部結果集合中有所少行。然而, 這比不用LIMIT而再次運行問詢要快,原因是結果集合不需要被送至客戶端。

SQL_CALC_FOUND_ROWS和FOUND_ROWS()在當你希望限制一個問詢返回的行數時很有用,同時還能不需要再次運行問詢而確定全部結果集合中的行數。一個例子就是提供頁式顯示的Web腳本,該顯示包含顯示搜索結果其它部分的頁的連接。使用FOUND_ROWS()使你確定剩下的結果需要多少其它的頁。

SQL_CALC_FOUND_ROWS和FOUND_ROWS()的應用對于UNION問詢比對于簡單SELECT語句更為復雜,原因是在UNION中,LIMIT可能會出現在多個位置。它可能適用于UNION中的個人SELECT語句,或是總體上到UNION結果的全程。

SQL_CALC_FOUND_ROWS對于UNION的意向是它應該不需要全程LIMIT而返回應返回的行數。SQL_CALC_FOUND_ROWS和UNION一同使用的條件是:

SQL_CALC_FOUND_ROWS關鍵詞必須出現在UNION的第一個SELECT中。FOUND_ROWS()的值只有在使用UNION ALL時才是精確的。若使用不帶ALL的UNION,則會發生兩次刪除, 而 FOUND_ROWS()的指只需近似的。假若UNION中沒有出現 LIMIT,則SQL_CALC_FOUND_ROWS被忽略,返回臨時表中的創建的用來處理UNION的行數。LAST_INSERT_ID() LAST_INSERT_ID(expr)

自動返回最后一個INSERT或UPDATE問詢為AUTO_INCREMENT列設置的第一個發生的值。

mysql>SELECT LAST_INSERT_ID();

-> 195

產生的ID每次連接后保存在服務器中。這意味著函數向一個給定客戶端返回的值是該客戶端產生對影響AUTO_INCREMENT列的最新語句第一個AUTO_INCREMENT值的。這個值不能被其它客戶端影響,即使它們產生它們自己的AUTO_INCREMENT值。這個行為保證了你能夠找回自己的ID而不用擔心其它客戶端的活動,而且不需要加鎖或處理。

假如你使用一個非“magic”值來更新某一行的AUTO_INCREMENT列,則LAST_INSERT_ID()的值不會變化(換言之,一個不是NULL也不是0的值)。

重點:假如你使用單INSERT語句插入多個行, LAST_INSERT_ID()只返回插入的第一行產生的值。其原因是這使依靠其它服務器復制同樣的INSERT語句變得簡單。

例如:

mysql> USE test;

Database changedmysql> CREATE TABLE t ( -> id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, -> name VARCHAR(10) NOT NULL -> );Query OK, 0 rows affected (0.09 sec)mysql> INSERT INTO t VALUES (NULL, ’Bob’);Query OK, 1 row affected (0.01 sec)mysql> SELECT * FROM t;+----+------+| id | name |+----+------+| 1 | Bob |+----+------+1 row in set (0.01 sec)mysql> SELECT LAST_INSERT_ID();+------------------+| LAST_INSERT_ID() |+------------------+| 1 |+------------------+1 row in set (0.00 sec)mysql> INSERT INTO t VALUES -> (NULL, ’Mary’), (NULL, ’Jane’), (NULL, ’Lisa’);Query OK, 3 rows affected (0.00 sec)Records: 3 Duplicates: 0 Warnings: 0mysql> SELECT * FROM t;+----+------+| id | name |+----+------+| 1 | Bob || 2 | Mary || 3 | Jane || 4 | Lisa |+----+------+4 rows in set (0.01 sec)mysql> SELECT LAST_INSERT_ID();+------------------+| LAST_INSERT_ID() |+------------------+| 2 |+------------------+1 row in set (0.00 sec)

雖然第二個問詢將3個新行插入t,對這些行的第一行產生的ID為2,這也是LAST_INSERT_ID()返回的值。

假如你使用INSERT IGNORE而記錄被忽略,則AUTO_INCREMENT計數器不會增量,而LAST_INSERT_ID()返回0,這反映出沒有插入任何記錄。

若給出作為到LAST_INSERT_ID()的參數expr,則參數的值被函數返回,并作為被LAST_INSERT_ID()返回的下一個值而被記憶。這可用于模擬序列:

創建一個表,用來控制順序計數器并使其初始化:

omysql>CREATE TABLE sequence (id INT NOT NULL);

omysql>INSERT INTO sequence VALUES (0);

使用該表產生這樣的序列數 :

omysql>UPDATE sequence SET id=LAST_INSERT_ID(id+1);

omysql>SELECT LAST_INSERT_ID();

UPDATE語句會增加順序計數器并引發向LAST_INSERT_ID()的下一次調用,用來返回升級后的值。SELECT語句會檢索這個值。 mysql_insert_id() C API函數也可用于獲取這個值。

你可以不用調用LAST_INSERT_ID()而產生序列,但這樣使用這個函數的效用在于ID值被保存在服務器中,作為自動產生的值。它適用于多個用戶,原因是多個用戶均可使用UPDATE語句并用SELECT語句(或mysql_insert_id()),得到他們自己的序列值,而不會影響其它產生他們自己的序列值的客戶端或被其它產生他們自己的序列值的客戶端所影響。

注意,mysql_insert_id()僅會在INSERT和UPDATE語句后面被升級, 因此你不能在執行了其它諸如SELECT或SET這樣的SQL語句后使用C API函數來找回LAST_INSERT_ID(expr)對應的值。

ROW_COUNT()

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

mysql>INSERT INTO t VALUES(1),(2),(3);

問詢完成,表中有3行(0.00秒)

記錄: 3重復: 0警告: 0

mysql>SELECT ROW_COUNT();+-------------+| ROW_COUNT() |+-------------+| 3 |+-------------+

表中有1行(0.00秒)

mysql>DELETE FROM t WHERE i IN(1,2);

問詢完成,找到2行(0.00秒)

mysql>SELECT ROW_COUNT();

+-------------+| ROW_COUNT() |+-------------+| 2 |+-------------+

表中有1行(0.00秒)

SCHEMA()

這個函數和DATABASE()具有相同的意義。

SESSION_USER()

SESSION_USER()和USER()具有相同的意義。

SYSTEM_USER()

SYSTEM_USER()合USER()具有相同的意義。

USER()

返回當前MySQL用戶名和機主名/

mysql>SELECT USER();

-> ’davida@localhost’

這個值指示了你指定的連接服務器時的用戶名,及你所連接的客戶主機。這個值可以和CURRENT_USER()的值不同。

你可以這樣提取用戶名部分:

mysql>SELECT SUBSTRING_INDEX(USER(),’@’,1);

-> ’davida’

由于USER()返回一個utf8字符集中的值,你也應確保’@’字符串文字在該字符集中得到解釋:

mysql>SELECT SUBSTRING_INDEX(USER(),_utf8’@’,1);

-> ’davida’

VERSION()

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

mysql>SELECT VERSION();

-> ’5.1.2-alpha-standard’

注意,假如你的版本字符串以-log結尾,這說明登錄已被激活。

4.其他函數DEFAULT(col_name)

返回一個表列的默認值。若該列沒有默認值則會產生錯誤。

mysql>UPDATE t SET i = DEFAULT(i)+1 WHERE id < 100;

FORMAT(X,D)

將數字X的格式寫為’#,###,###.##’,以四舍五入的方式保留小數點后D位, 并將結果以字符串的形式返回。若D為0,則返回結果不帶有小數點,或不含小數部分。

mysql>SELECT FORMAT(12332.123456, 4);

-> ’12,332.1235’

mysql>SELECT FORMAT(12332.1,4);

-> ’12,332.1000’

mysql>SELECT FORMAT(12332.2,0);

-> ’12,332’

GET_LOCK(str,timeout)

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

這個函數可用于執行應用程序鎖或模擬記錄鎖定。名稱被鎖定在服務器范圍內。假如一個名字已經被一個客戶端封鎖,GET_LOCK()會封鎖來自另一個客戶端申請封鎖同一個名字的任何請求。這使對一個封鎖名達成協議的客戶端使用這個名字合作執行建議鎖。然而要知道它也允許不在一組合作客戶端中的一個客戶端封鎖名字,不論是服役的還是非故意的,這樣阻止任何合作中的客戶端封鎖這個名字。一個減少這種情況發生的辦法就是使用數據庫特定的或應用程序特定的封鎖名。例如,使用db_name.str或app_name.str形式的封鎖名。

mysql>SELECT GET_LOCK(’lock1’,10);-> 1

mysql>SELECT IS_FREE_LOCK(’lock2’);-> 1

mysql>SELECT GET_LOCK(’lock2’,10);-> 1

mysql>SELECT RELEASE_LOCK(’lock2’);-> 1

mysql>SELECT RELEASE_LOCK(’lock1’);-> NULL

注意,第二個RELEASE_LOCK()調用返回NULL,原因是鎖’lock1’杯第二個GET_LOCK()調用解開。

INET_ATON(expr)

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

mysql>SELECT INET_ATON(’209.207.224.40’);

-> 3520061480

產生的數字總是按照網絡字節順序。如上面的例子,數字按照209×2563+ 207×2562+ 224×256 + 40進行計算。

INET_ATON()也能理解短格式IP地址:

mysql>SELECT INET_ATON(’127.0.0.1’), INET_ATON(’127.1’);-> 2130706433, 2130706433

注釋:在存儲由INET_ATON()產生的值時,推薦你使用INT UNSIGNED列。假如你使用(帶符號) INT列,則相應的第一個八位組大于127的IP地址值會被截至 2147483647 (即, INET_ATON(’127.255.255.255’)所返回的值)。

INET_NTOA(expr)

給定一個數字網絡地址(4或8比特),返回作為字符串的該地址的電地址表示。

mysql>SELECT INET_NTOA(3520061480);-> ’209.207.224.40’

IS_FREE_LOCK(str)

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

IS_USED_LOCK(str)

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

MASTER_POS_WAIT(log_name,log_pos[,timeout])

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

假如已經指定了一個超時時間值,當超時時間秒數經過后MASTER_POS_WAIT()會停止等待。超時時間必須大于0;一個為零或為負值的超時時間表示沒有超市時間。

NAME_CONST(name,value)

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

mysql>SELECT NAME_CONST(’myname’, 14);

+--------+| myname |+--------+| 14 |+--------+

這個函數被添加進MySQL 5.0.12。它只做內部使用。你可能會在mysqlbinlog的書櫥中看到這個函數。

RELEASE_LOCK(str)

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

DO語句和RELEASE_LOCK()同時使用很方便。

SLEEP(duration)

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

UUID()

返回一個通用唯一標識符(UUID),其產生的根據是《DCE 1.1:遠程過程調用》(附錄A) CAE (公共應用軟件環境)的說明,該作品于1997年10月由The Open Group出版(文件編號C706,http://www.opengroup.org/public/pubs/catalog/c706.htm).

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

UUID是一個由5位十六進制數的字符串表示的128比特數字 ,其格式為 aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:

前3個數字從一個時間戳產生。第4個數字保持暫時唯一性,以防時間戳值失去單一性(例如,由于經濟時)。第5個數字是一個IEEE 802節點號,它提供空間唯一性。若后者不可用,則用一個隨機數字替換。(例如,由于主機沒有以太網卡,或我們不知道怎樣在你的操作系統上找到界面的機器地址)。假若這樣,空間唯一性就不能得到保證。盡管如此,一個沖突的發生機率還是非常低的。

目前,一個界面的MAC地址盡被FreeBSD和Linux考慮到。在其它操作系統中, MySQL使用隨機產生的48比特數字。

mysql>SELECT UUID();

-> ’6ccd780c-baba-1026-9564-0040f4311e29’

注意,UUID()不支持復制功能。

VALUES(col_name)

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

mysql>INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)

->ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 中文字幕天堂网 | 日本高清视频wwww色 | 日韩乱码人妻无码中文字幕 | 欧美牲交a欧美牲交aⅴ一 | 91免费观看网站 | 99精品色 | 亚洲 自拍 另类小说综合图区 | 日韩欧美国产网站 | 国产精品乱码一区二区三 | 久草中文在线观看 | 亚洲精品中文在线 | 中文字幕第27页 | 祥仔av免费一区二区三区四区 | 日韩精品视频在线免费观看 | 色噜噜狠狠色综合免费视频 | 一个人在线观看www软件 | 岛国av中文字幕 | 日韩bbw| 日本少妇白嫩猛烈进入免费视频 | 青青草成人免费在线视频 | 91蝌蚪视频在线观看 | 午夜成年人 | 国产一区二区三区小说 | 91在线资源 | 欧美中日韩免费观看网站 | 亚洲精品久久久日韩美女极品 | 欧美丰满熟妇xxxx | 欧美多毛肥胖老妇做爰 | 日本高清视频一区二区三区 | 久久五月网 | 激情婷婷六月天 | 完全免费在线视频 | 日本熟妇丰满大白屁毛片 | 日产精品高潮呻吟av久久 | 黄色aa视频 | 久久久精品国产免费观看一区二区 | 日韩欧美一区二区三区, | 日本在线看片免费人成视频 | 成人午夜视频免费在线观看 | 国产女人被狂躁到高潮小说 | 一二三四日本中文在线 | 亚洲国产婷婷香蕉久久久久久 | 麻豆av剧情| 丰满熟妇人妻av无码区 | 97视频在线 | 日韩欧美卡一卡二卡新区 | 无码人妻精品一区二区三区在线 | 色视频www在线播放国产人成 | 亚洲乱码精品久久久久 | 欧美日韩精品区 | 国产午夜一区二区 | 4438x成人网最大色成网站 | 国产毛片aaa | 久久精品卫校国产小美女 | 天天干天天操天天拍 | 国产超碰人人做人人爽av牛牛 | 国产一级免费大片 | 青草99| 大桥未久av一区二区三区 | 日韩视频一区二区三区在线播放免费观看 | 亚洲va欧美va人人爽 | 日本免费三级网站 | 97精品国产手机 | 嫩草影院ncyy | 国产av一区二区三区传媒 | 国产精品99久久久久久动医院 | 五十老熟妇乱子伦免费观看 | 黄在线视频 | 久久精品h| 亚洲区小说区图片区qvod | 亚洲成av人片久久 | 中文字幕乱码一区av久久不卡 | 天海翼一区二区三区四区演员表 | 成人三级黄色片 | 91九色视频在线 | 夜久久久 | 天海翼一区二区三区四区演员表 | 亚洲人亚洲人成电影网站色 | 国产良妇出轨视频在线观看 | 明星毛片| 成人三级a做爰视频哪里看 成人三级k8经典网 成人三级黄色 | 国产视频一区二区不卡 | 农村末发育av片一区二区 | 亚洲第一精品网站 | 久久久综合九色合综 | 国产精品久久久久久久久妇女 | 国模无码大尺度一区二区三区 | 国产午夜精品一区二区 | 超碰综合| 一级裸体视频 | 天天干天天色天天射 | 69xxx18—19xxx视频 | 日韩视频在线播放 | 天堂资源在线播放 | 在线有码视频 | 成人免费视频在线看 | 亚洲高清网| 国产精品久久久久国产三级传媒 | 日本一级特黄aa大片 | 丰满少妇av | 久草视频在线看 | 91成年版 | 日剧大尺度床戏做爰 | 日韩内射美女人妻一区二区三区 | 成人激情视频网站 | 无套内谢孕妇毛片免费看看 | 男主和女配啪慎入h闺蜜宋冉 | 免费不卡视频 | 国产精品久久久久久久妇 | 午夜精品久久久久久久久久久久 | 阿v天堂2014| 美女尿尿网站 | 亚洲福利 | 欧洲美色妇ⅹxxxxx欧美 | 久久精品国产亚洲77777 | 成人午夜小视频 | 久久免费视频在线观看30 | 99精品在线视频观看 | 欧美又黄又粗暴免费观看 | 丁香婷婷激情综合俺也去 | av 日韩 人妻 黑人 综合 无码 | 日韩美女乱淫免费看视频大黄 | 97久久久久久久久久久久 | 97在线观看免费高清 | 东京热一精品无码av | 国产又粗又黄的视频 | 毛片网在线 | 99久久精品免费看国产四区 | 明星毛片 | 中文字幕人妻熟女在线 | 欧美黄色大片视频 | 日韩毛片一区二区三区 | 丰满少妇奶水一区二区三区 | 日韩av麻豆 | 国产精品女人特黄av片 | 色在线免费视频 | 国产一区二区三区色淫影院 | 欧洲女人牲交性开放视频 | 少妇性l交大片久久免费 | 欧美一区二区三区免费视频 | 一级黄色性生活片 | 黄色的毛片 | 色94色欧美sute亚洲线路一久 | 岛国免费的毛片 | 真人抽搐一进一出gif | 一二三区在线 | 激情国产av做激情国产爱 | 二区欧美 | 欧美国产一区二区三区 | 在线免费观看av网 | www精品美女久久久tv | 中文字幕国产在线观看 | 亚洲最大成人免费视频 | 日本乳奶水流出来高清xxxx | 日韩精品久久久久久免费 | 成人网在线视频 | 日本美女逼 | 亚洲欧美日韩另类在线 | 医生强烈淫药h调教小说阅读 | 国产一二三四在线视频 | 中文字幕精品亚洲无线码二区 | 久久久免费视频观看 | 北条麻妃99精品青青久久 | 国产男人的天堂 | 亚洲精品一区二区三区98年 | 国产又爽又猛又粗的视频a片 | 亚洲自拍色图 | 成人夜夜| 成人av在线影院 | 人人揉人人捏人人添 | 欧美日韩成人免费看片 | 爱情岛成人 | ass阿娇裸体pics | 国产精品视频h | 国产色视频网免费 | 亚洲精品在线视频免费观看 | 国产精品丝袜 | 国产乱国产 | а√天堂ww天堂八 | 香蕉久久人人爽人人爽人人片av | 国产精品亚洲一区二区三区天天看 | 欧美交a欧美精品喷水 | aⅴ一区二区三区无卡无码 aⅴ在线免费观看 | 亚洲福利专区 | 国产精品黄在线观看免费软件 | 农村脱精光一级 | 毛片内射久久久一区 | 日韩成人在线看 | 狠狠色综合网站久久久久久久高清 | 久久久综合婷婷精品国产一区影院 | 91久久久一线二线三线品牌 | 把jiji进美女的屁屁里视频 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 成在人线av无码免费 | 亚洲午夜国产一区99re久久 | 欧美午夜精品久久久 | 国产69精品久久久久孕妇大杂乱 | 人妻中文字幕乱人伦在线 | 亚洲天堂自拍偷拍 | 精品人妻系列无码一区二区三区 | 荡女淫春 在线观看69影院 | 欧美freesex黑人又粗又大 | 久久www免费人成看片美女图 | 日本另类αv欧美另类aⅴ | 18深夜在线观看免费视频 | 欧美高清另类 | 国产又嫩又黄又猛视频在线观看 | 国产欧美专区 | 精品国产一区二区三区久久影院 | 亚洲色播爱爱爱爱爱爱爱 | 呦系列视频一区二区三区 | bbbbbxxxxx性欧美| 免费a级大片 | 伊人网欧美 | 天堂欧美城网站地址 | 日本舌吻大尺度呻吟视频 | www国产精品内射 | 欧美乱大交xxxxx疯狂俱乐部 | 久热这里只有精品视频6 | 国产痴汉av久久精品 | 免费一区二区视频 | 中文字幕亚洲在线 | 国产精品美女久久久久av爽 | 成人乱码一区二区三区av | 欧美国产日韩在线观看 | 日日摸夜夜添夜夜添毛片av | a级特黄视频 | 免费精品国产 | 国产农村妇女aaaaa视频 | 亚洲一区av无码专区在线观看 | 国产精品.xx视频.xxtv | 性感美女毛片 | 国产高清久久 | 国产99页 | 蜜桃av影视 | 亚洲不卡在线 | 特黄特色特刺激免费播放 | 91精品国产99久久久久 | 日本老熟妇毛茸茸 | 亚洲午夜久久久 | 亚洲最大福利视频 | 中文字幕一区二 | 欧美怡春院一区二区三区 | 欧美天堂一区 | 亚洲人成网网址在线看 | 网站在线看 | 国产精品精 | 一区二区三区欧美视频 | 国产 日韩 欧美在线 | 久久亚洲精品无码va白人极品 | 色翁荡熄又大又硬又粗又视频 | 亚洲精品无人区 | 国产一区二区三区在线免费 | 人妻人人做人碰人人添 | 国产的av| 国产高清在线观看视频 | 久久久久久毛片免费播放 | 自拍啪啪| 精品国产乱码久久久 | 观看av在线| 久久久久国产精品久久久久 | 关秀媚三级露全乳视频 | 久久久久久亚洲精品不卡4k岛国 | 狠狠撸视频 | 小sao货水好多真紧h视频, | 国产毛片精品国产一区二区三区 | 一本一道av | 久久久亚洲成人 | 国产又黄又猛视频 | 欧产日产国产精品99 | 欧美 日韩 亚洲 在线 | 久久婷婷五月综合尤物色国产 | 黄色91免费| 夜夜春很很躁夜夜躁 | 国产精品久久久久久69 | 国产黄大片在线观看 | 亚洲精品成人无码中文毛片不卡 | 人人干狠狠干 | 中出乱码av亚洲精品久久天堂 | 五月综合色婷婷 | 中文字幕在线观看一区二区 | 国产精品免费视频一区二区三区 | 91国偷自产一区二区使用方法 | 国产又色又爽又黄的免费软件 | 91亚洲精品久久久久图片蜜桃 | 日韩欧美国产中文字幕 | 免费福利小视频 | 图片区 小说区 区 亚洲五月 | 欧美一区二区三区在线免费观看 | 黑人粗硬进入过程视频 | 少妇av射精精品蜜桃专区 | 成年人视频免费在线观看 | а天堂中文最新一区二区三区 | 精品无人乱码一区二区三区的优势 | 中文字幕在线观看av | 天天色亚洲| 人人妻人人澡人人爽精品欧美 | www久久撸撸网 | 国产亚洲精久久久久久叶玉卿 | 特黄特色大片免费视频大全 | 国产在线精品一区二区在线播放 | 二区影院| 国产精品女丝袜白丝袜 | 免费午夜激情 | 岛国av免费看 | 亚洲精品无码一区二区三区久久久 | 国产无遮掩 | 关秀媚三级露全乳 | 久久久久国产精品人妻aⅴ毛片 | 色综合a| 亚洲国产成人丁香五月激情 | 全黄一级裸片视频 | 日本在线不卡一区二区 | 色www永久免费视频 亚洲成av人在线观看天堂无码 | 天天综合天天爱天天做 | 欧美一级黄色片 | 亚洲人成亚洲人成在线观看 | 国产91在线播放9色不卡 | 男女吻胸做爰摸下身 | 国产成人61精品免费看片 | 日韩作爱 | 在线中文av | 国产区在线观看 | 我要看www免费看插插视频 | 亚洲影视综合网 | 欧产日产国产精品 | 成人毛片在线精品国产 | 真实国产老熟女无套中出 | 合欢视频在线观看 | 亚洲天堂8 | 国产精品内射后入合集 | 欧美成人极品 | 亚洲熟妇av一区二区三区宅男 | 国产农村妇女毛片精品久久 | 亚洲福利精品视频 | 久久伊人网视频 | 精品黑人一区二区三区久久 | 国产熟妇久久777777 | 在线免费观看毛片 | 亚洲精品久久久一线二线三线 | 欧美a在线看 | 真实国产老熟女粗口对白 | 日本一区二区三区在线视频 | 91精品国产91综合久久蜜臀 | 人妻少妇av中文字幕乱码 | a级高清免费毛片av在线 | 国产在线精品一区二区三区直播 | 激情久久久久久 | 欧美激情黑白配 | 亚洲中文字幕无码一区在线 | 亚洲国产福利一区二区三区 | 呻吟对白激情videos | 韩日免费av | 欧美群妇大交群中文字幕 | 热久久免费| 无码人妻丰满熟妇啪啪欧美 | 久久久精品国产sm最大网站 | 国产精品久久影院 | 伊人黄色片 | 久久最新| 国产一区二区三区日韩精品 | 国产成人午夜福利在线播放 | 精品国产乱码久久久久久鸭王1 | 9cao| 狠狠色噜噜狠狠狠狠69 | 天堂va蜜桃一区二区三区 | 欧美另类交人妖 | 日本免费一区二区三区 | 色综合91| 亚洲日韩小电影在线观看 | 日本欧美www | 国精产品999国精产品官网 | 极品少妇av| 欧洲亚洲综合 | 风流僵尸艳片a级 | 久久精品一本到东京热 | 免费欧美日韩 | 国产午夜精品av一区二区麻豆 | 99热导航| 国产欧美精品一区二区三区 | 国产 精品 自在 线免费 | 激情丁香六月 | 在线观看色网 | 色就是色av | 一本视频在线 | 狠狠色噜噜狠狠狠狠999米奇 | 欧美自拍三级 | 国产成人高清在线 | 又色又爽又黄18禁美女裸身无遮挡 | 亚洲国产精品自产在线播放 | 男女做爰猛烈叫床爽爽免费网站 | 天堂一码二码三码四码区乱码 | 夜夜摸狠狠添日日添高潮出水 | 免费看黄色片网站 | 国产色婷婷精品综合在线 | 免费播放一区二区三区 | 午夜熟女毛片蜜桃传媒 | 亚州欧洲日韩精品 | 一本久久综合亚洲鲁鲁五月天 | 少妇媚药按摩中文字幕 | 成人精品久久 | 丰腴饱满的极品熟妇 | 国产精品ssss在线亚洲 | 欧美丰满熟妇xxxxx | 亚洲国产精品一区二区三区 | 亚洲精品9999 | 国产精品欧美综合 | 中国毛片在线 | 免费无码又爽又刺激高潮视频 | √最新版天堂资源网在线 | 动漫美女爆羞羞动漫在线蜜桃 | 91久久久色在线观看 | 国产一区二区三区久久久久久久久 | 少妇又紧又色又硬又爽 | 国产精品福利在线播放 | aaaaa级少妇高潮大片免费看 | 久久精品视频网站 | 无限看片在线版免费视频大全 | 国产欧美日韩在线视频 | 4hu四虎永久在线影院 | 久久草草影视免费网 | 精品蜜臀av在线天堂 | 丁香婷婷激情国产高清秒播 | 欧美第一页在线观看 | 99国产精品无码专区 | 懂色av蜜乳av一二三区 | 亚洲精品v日韩精品 | 久久久精品在线 | 91免费在线视频 | 美女av一区二区三区 | 揄拍自拍| 成人性视频网站 | 亚洲国产综合无码一区 | 久久99精品久久久久婷综合 | 日韩h在线观看 | 国产成人无码a在线观看不卡 | 欧美精产国品一二三区69堂 | 成年18网站免费进入夜色 | 国产午夜视频在线 | 欧美野外猛男的大粗鳮台湾同胞 | 自拍成人福利视频免费在线观看 | 尤物精品视频在线观看 | 天天骑天天干 | 久久精品亚洲a | 国内精品久久久久影院男同志 | 亚洲一级中文字幕 | 国产一区2区3区 | 国产又粗又猛又爽又黄的视频p站 | 成人性生交大片100部 | 99精品视频在线观看免费播放 | 欧美精选一区 | 痴汉电车在线播放 | 97香蕉碰碰人人澡人人爱 | 98婷婷狠狠成人免费视频 | 欧美整片第一页 | 久久久三级 | 国产农村妇女毛片精品久久麻豆 | 国产精品视频在线看 | 国产激情91 | 亚洲毛片在线看 | 国内精品一区二区 | 在线a久青草视频在线观看 无套内射极品少妇chinese | 日韩国产在线 | 九九九九热精品免费视频点播观看 | 午夜国产福利在线 | 亚洲 欧美 激情 另类 校园 | 国产麻豆精品一区二区三区v视界 | 91高清视频在线 | 91视频黄色| 久久亚洲人成网站 | 黄色一级大片在线免费看国产一 | 婷婷狠狠久久久一本精品 | 天堂资源中文在线 | 欧美aaa在线观看 | 免费在线观看视频a | 女人的av | 日本一区二区在线免费观看 | 亚洲欧美另类在线图片区 | 成人午夜视频精品一区 | 国产亚洲精品久久久久四川人 | 国产高清露脸 | 精品国产乱码一区 | 国产女女做受ⅹxx高潮 | 女人内谢aaaa免费视频 | 销魂美女一区二区 | 亚洲人在线观看 | 人妻精品久久无码区 | 欧美日韩中文字幕在线播放 | 巨胸喷奶水视频www免费网站 | 国产午夜精品av一区二区 | 久久九九久精品国产 | 三级免费观看 | 天堂√中文在线 | 亚洲性色视频 | 九九九九九九九伊人 | 超碰97在线人人 | 成人3d动漫在线观看 | 日韩亚洲欧美中文高清 | 147人体做爰大胆图片成人 | 国产精品婷婷午夜在线观看 | 9人人澡人人爽人人精品 | 成人在线视频免费播放 | 国产精品一区二区人人爽 | 成人黄色小说在线观看 | 国产性生活毛片 | 日本在线一区二区三区 | 无码精品人妻一区二区三区湄公河 | 国产91视频在线观看 | 亚洲不卡高清视频 | 中文字幕一区二区三区四区不卡 | 成年人看的网站 | 久久亚洲中文字幕不卡一二区 | 欧美人与物videos另类 | 欧美交换配乱吟粗大25p | 在线免费看av的网站 | 无码人妻丰满熟妇a片护士 日本欧美大码a在线观看 | 看全色黄大色大片60岁 | 超碰在线人人 | 五月天婷婷亚洲 | 国产呻吟久久久久久久92 | 一二三四在线视频观看社区 | 噼里啪啦在线播放 | 草久久免费视频 | 国语自产偷拍精品视频偷拍 | 玩弄放荡人妻少妇系列视频 | 男人添女荫道口视频a | 免费在线看黄网站 | 国模一区二区 | 波多野结衣www | 日日碰狠狠添天天爽超碰97 | 色情久久久av熟女人妻网站 | 日韩欧美视频在线 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 欧美大片网站 | av成人天堂 | 免费成人蒂法网站 | 手机看片日韩日韩 | 肉性天堂| 国产爆乳美女娇喘呻吟 | 凹凸精品熟女在线观看 | 国产黄色a级毛片 | 午夜色网站 | 欧美成年视频 | 韩国三级hd中文字幕有哪些 | 国产高清av | 91草草草 | 色伊人久久 | 亚洲久久色 | 97干在线视频 | 久久狠狠一本精品综合网 | 久久精品国产精品亚洲艾草网 | 一本一道精品欧美中文字幕 | 久久毛片网站 | 青青久草在线视频 | 一区二区三区欧美精品 | 亚洲成av人片在线观看无码 | 出轨人妻毛片一级 | 天天摸天天操天天干 | 日批在线视频 | 寡妇高潮一级片 | 插插插网站 | 摸摸大奶子 | 久久天天躁夜夜躁狠狠i女人 | 成人性生生活性生交免费 | 小黄鸭精品密入口导航 | 亚洲欧美激情网站 | 色婷婷激情一区二区三区 | 成人国产1314www色视频 | 日韩在线一二 | 久操热久操 | 精品动漫av | 伊人久久影视 | 国产精品久久久久久久毛片 | 久久久久久久极品内射 | 欧美在线brazzers免费视频 | 99热免费 | 国产人妻精品一区二区三区 | 亚洲五月花 | 欧美性插插 | 日本不卡视频一区二区三区 | 中文字幕在线观看视频www | 国产亚州精品女人久久久久久 | 精人妻无码一区二区三区 | 久久99精品久久久久久青青日本 | 在线观看免费视频一区 | 亚洲国产精品国自产拍av | 外国黄色网址 | 麻豆乱码国产一区二区三区 | 国产精品久久久久久久第一福利 | aaaaa一级片 aaaa大片少妇高潮免费看 | 欧美日韩亚洲中文字幕一区二区三区 | 无码视频在线观看 | 欧美国产一级片 | 黄在线免费 | 国产主播大尺度精品福利免费 | 成人欧美激情 | 国产精品人 | 久久机热 | 国产成人在线视频 | 乱人伦人妻中文字幕 | 日本人妻伦在线中文字幕 | 毛片永久新网址首页 | 欧美日韩一卡2卡三卡4卡 乱码欧美孕交 | 中国女人一级一次看片 | 久久看视频只这 | 国产小精品 | 丰满人妻精品国产99aⅴ | 国产网站黄色 | 亚洲国产一区二区三区四区 | 成年人黄色免费网站 | 亚洲一区二区不卡在线观看 | 中文字幕视频一区 | 欧美国产日产一区二区 | 绯色av一区二区 | 精品亚洲91 |