国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【⑤MySQL函數(shù)】:讓你的數(shù)據(jù)庫操作更高效(二)

這篇具有很好參考價(jià)值的文章主要介紹了【⑤MySQL函數(shù)】:讓你的數(shù)據(jù)庫操作更高效(二)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

?歡迎來到小K的MySQL專欄,本節(jié)將為大家?guī)鞰ySQL日期時(shí)間、條件判斷、系統(tǒng)信息、加密、進(jìn)制轉(zhuǎn)換和IP地址轉(zhuǎn)換函數(shù)的講解?

一、日期和時(shí)間函數(shù)

函數(shù) 作用
CURDATE(),CURRENT_DATE() 返回當(dāng)前日期
CURTIME(),CURRENT_TIME() 返回當(dāng)前時(shí)間
NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),
SYSDATE(),LOCALTIMESTAMP()
返回會當(dāng)前日期和事件
YEAR(日期) 返回日期中的年份
MONTH(日期) 返回日期中的月份[1,12]
DAY(日期) 返回日期中的天[1,31]
HOUR(時(shí)間) 返回時(shí)間中的小時(shí)
MINUTE(時(shí)間) 返回時(shí)間中的分鐘
SECOND(時(shí)間) 返回時(shí)間中的秒
DAYOFWEEK(日期) 返回星期幾,1星期日,2星期一
WEEKDAY(日期) 返回星期幾,0星期一,1星期二
DAYOFYEAR(日期) 計(jì)算指定日期是本年第幾天
DAYOFMONTH(日期) 計(jì)算指定日期是本月第幾天
QUARTER(日期) 計(jì)算指定日期是第幾季度
TIME_TO_SEC(time) 將指定時(shí)間轉(zhuǎn)換為秒
SEC_TO_TIME(sec) 將以秒為單位的時(shí)間轉(zhuǎn)換為時(shí)分秒的格式
DATEDIFF(d1,d2) 計(jì)算兩個(gè)日期相隔的天數(shù)
ADDDATE(date,n) 計(jì)算指定日期加上n天后的日期
SUBDATE(date,n) 計(jì)算指定日期減去n天后的日期
ADDTIME(time,n) 計(jì)算指定時(shí)間加上n秒后的時(shí)間
SUBTIME(time,n) 計(jì)算指定時(shí)間減去n秒后的時(shí)間
DATE_FORMAT(date,f) 按格式返回日期
TIME_FORMAT(time,f) 按格式返回時(shí)間

?日期和時(shí)間函數(shù)練習(xí):

  • CURDATE(),CURRENT_DATE() ,返回當(dāng)前日期CURTIME(),CURRENT_TIME() ,返回當(dāng)前時(shí)間NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),SYSDATE(),LOCALTIMESTAMP(),返回會當(dāng)前日期和事件

    SELECT CURDATE(),CURTIME(),NOW(),LOCALTIME(),SYSDATE();
    
  • MONTH(日期) : 返回日期中的月份[1,12],DAY(日期) : 返回日期中的天[1,31],HOUR(時(shí)間) : 返回時(shí)間中的小時(shí),MINUTE(時(shí)間) : 返回時(shí)間中的分鐘,SECOND(時(shí)間) : 返回時(shí)間中的秒

    SELECT YEAR(NOW()),MONTH(NOW()),DAY(NOW()),HOUR(NOW()),MINUTE(NOW()),SECOND(NOW());
    
  • DAYOFWEEK:(日期) 返回星期幾,1星期日,2星期一;WEEKDAY(日期):返回星期幾,0星期一,1星期二

    SELECT DAYOFWEEK(NOW()),WEEKDAY(NOW());
    
  • DAYOFYEAR(日期):計(jì)算指定日期是本年第幾天;DAYOFMONTH(日期): 計(jì)算指定日期是本月第幾天;QUARTER(日期) :計(jì)算指定日期是第幾季度

    SELECT DAYOFYEAR(NOW()),DAYOFMONTH(NOW()),QUARTER(NOW());
    
  • TIME_TO_SEC(time) :將指定時(shí)間轉(zhuǎn)換為秒;SEC_TO_TIME(sec) : 將以秒為單位的時(shí)間轉(zhuǎn)換為時(shí)分秒的格式

    SELECT TIME_TO_SEC('01:00:00');
    SELECT SEC_TO_TIME('3600');
    
  • ADDDATE(date,n) : 計(jì)算指定日期加上n天后的日期;SUBDATE(date,n) : 計(jì)算指定日期減去n天后的日期;ADDTIME(time,n): 計(jì)算指定時(shí)間加上n秒后的時(shí)間;SUBTIME(time,n) : 計(jì)算指定時(shí)間減去n秒后的時(shí)間

    SELECT DATEDIFF(CURDATE(),'2023/6/5');
    SELECT ADDDATE(CURDATE(),'2'),SUBDATE(CURDATE(),'2');
    SELECT ADDTIME(CURTIME(),'2'),SUBTIME(CURTIME(),'2');
    
  • DATE_FORMAT(date,f): 按格式返回日期;TIME_FORMAT(time,f) :按格式返回時(shí)間,注意:%Y表示年份為4位,%y表示兩位,分鐘的格式化字符要用%i

    SELECT DATE_FORMAT(CURDATE(),'%Y-%m-%d');
    SELECT DATE_FORMAT(CURDATE(),'%y-%m-%d');
    SELECT TIME_FORMAT(CURTIME(),'%h-%i-%s');
    

?效果如下:

【⑤MySQL函數(shù)】:讓你的數(shù)據(jù)庫操作更高效(二)
【⑤MySQL函數(shù)】:讓你的數(shù)據(jù)庫操作更高效(二)
【⑤MySQL函數(shù)】:讓你的數(shù)據(jù)庫操作更高效(二)

二、條件判斷函數(shù)

函數(shù) 作用
IF(expr,v1,v2) 如果表達(dá)式expr成立,返回結(jié)果v1;否則,返回結(jié)果v2。
IFNULL(v1,v2) 如果v1的值不為NULL,則返回v1,否則返回v2
CASE 分支(詳見下面)
  • IF(expr,v1,v2)
SELECT IF(1>0,'true','false');
->true
  • IFNULL(v1,v2)
SELECT IFNULL(NULL,'king');
->king
  • CASE

? 語法1:

CASE
	WHEN expr1 THEN V1
	WHEN expr2 THEN V2
	...
	ELSE vn
END	
SELECT CASE 
  WHEN 1 > 0
  THEN '1 > 0'
  WHEN 2 > 0
  THEN '2 > 0'
  ELSE '3 > 0'
  END
->1 > 0

?語法2:

CASE expr 
  WHEN e1 THEN v1
  WHEN e1 THEN v1
  ...
  ELSE vn
END
SELECT CASE 1 
  WHEN 1 THEN '我是1'
  WHEN 2 THEN '我是2'
ELSE '你是誰'

三、系統(tǒng)信息函數(shù)

? 系統(tǒng)信息函數(shù)用來查詢MySQL數(shù)據(jù)庫的系統(tǒng)信息。

函數(shù) 作用
VERSION() 返回?cái)?shù)據(jù)庫的版本號
CONNECTION_ID() 返回服務(wù)器的連接數(shù)
DATABASE()、SCHEMA 返回當(dāng)前數(shù)據(jù)庫名
USER()、SYSTEM_USER()、SESSION_USER()、CURRENT_USER()、CURRENT_USER 返回當(dāng)前用戶
CHARSET(str) 返回字符串str的字符集
COLLATION(str) 返回字符串str的字符排列方式

系統(tǒng)信息函數(shù)練習(xí):

  • VERSION() : 返回?cái)?shù)據(jù)庫的版本號

    SELECT VERSION();
    
  • CONNECTION_ID(): 返回服務(wù)器的連接數(shù)

    SELECT CONNECTION_ID();
    
  • DATABASE()、SCHEMA: 返回當(dāng)前數(shù)據(jù)庫名

    SELECT DATABASE();
    
  • USER()、SYSTEM_USER()、SESSION_USER()、CURRENT_USER()、CURRENT_USER: 返回當(dāng)前用戶

    SELECT user();
    
  • CHARSET(str) :返回字符串str的字符集

    SELECT CHARSET('123564');
    
  • COLLATION(str): 返回字符串str的字符排列方式

    SELECT COLLATION('king');
    

?效果如下:

【⑤MySQL函數(shù)】:讓你的數(shù)據(jù)庫操作更高效(二)

四、加密函數(shù)

?加密函數(shù)是MySQL用來對數(shù)據(jù)進(jìn)行加密的函數(shù).

函數(shù) 作用
MD5(str) 對字符串str進(jìn)行散列,可以用于一些普通的不需要解密的數(shù)據(jù)加密,如密碼
sha1 對字符串str進(jìn)行散列,可以用于一些普通的不需要解密的數(shù)據(jù)加密,如密碼,比MD5更安全
SELECT MD5('12345679'),SHA1('12345679');
-->defac44447b57f152d14f30cea7a73cb   -->c4b93599b61b85b1f109064294c5bd7adf73ca66

?我們會發(fā)現(xiàn)sha1產(chǎn)生的密碼更長

五、進(jìn)制轉(zhuǎn)換函數(shù)

函數(shù) 作用
BIN(x) 返回x的二進(jìn)制
HEX(x) 返回x的十六進(jìn)制
OCT(x) 返回x的八進(jìn)制
CONV(x,from_base,to_base) 將from_base進(jìn)制的x,轉(zhuǎn)成to_base進(jìn)制
SELECT BIN(10),HEX(10),OCT(10),CONV(16,16,10);
->1010 A 12 22

六、IP地址轉(zhuǎn)換函數(shù)

函數(shù) 作用
INET_ATON(IP) 將點(diǎn)分十進(jìn)制的IP地址轉(zhuǎn)為數(shù)字
INET_NTOA(number) 將數(shù)字形式的IP轉(zhuǎn)為點(diǎn)分十進(jìn)制
SELECT INET_ATON('192.168.0.1')
    ->3232235521
SELECT INET_NTOA(3232235521)
    ->192.168.0.1

七、總結(jié)

?~MySQL 函數(shù)會對傳遞進(jìn)來的參數(shù)進(jìn)行處理,并返回一個(gè)處理結(jié)果,也就是返回一個(gè)值。MySQL 包含了大量并且豐富的函數(shù),咱們講解幾十個(gè)常用的,剩下的比較罕見的函數(shù)我們可以到「?MySQL 參考手冊」查詢。文章來源地址http://www.zghlxwxcb.cn/news/detail-499627.html

到了這里,關(guān)于【⑤MySQL函數(shù)】:讓你的數(shù)據(jù)庫操作更高效(二)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 數(shù)據(jù)庫高效批量更新操作 MERGE INTO

    使用 UPDATE 批量更新大量的數(shù)據(jù),會出現(xiàn)效率低下,有時(shí)候甚至卡死的情況,后面通過使用 MERGE INTO 代替 UPDATE 執(zhí)行批量更新,會提升執(zhí)行效率。 原理:因?yàn)?UPDATE 關(guān)聯(lián)子查詢寫法,是選到一條做一次子查詢,這種寫法得更新少,走好的索引才行,MERGE 寫法是執(zhí)行完 ON 后一次

    2024年02月17日
    瀏覽(13)
  • 一文讀懂大數(shù)據(jù)工具Phoenix:讓你的數(shù)據(jù)管理更高效!

    一文讀懂大數(shù)據(jù)工具Phoenix:讓你的數(shù)據(jù)管理更高效!

    介紹:Phoenix,最初由saleforce開發(fā)并開源,后成為Apache基金會的頂級項(xiàng)目。它是一個(gè)構(gòu)建在HBase上的SQL層,可以使用標(biāo)準(zhǔn)的JDBC APIs而不是HBase客戶端APIs來創(chuàng)建表、插入數(shù)據(jù)和查詢HBase中的數(shù)據(jù)。此外,Phoenix還完全使用Java編寫,作為HBase內(nèi)嵌的JDBC驅(qū)動,將SQL查詢轉(zhuǎn)換為一個(gè)或多個(gè)

    2024年01月20日
    瀏覽(25)
  • Navicat 16 for MySQL:打造高效數(shù)據(jù)庫開發(fā)管理工具

    Navicat 16 for MySQL:打造高效數(shù)據(jù)庫開發(fā)管理工具

    隨著數(shù)據(jù)的快速增長和復(fù)雜性的提升,數(shù)據(jù)庫成為了現(xiàn)代應(yīng)用開發(fā)中不可或缺的一部分。而在MySQL數(shù)據(jù)庫領(lǐng)域,Navicat 16 for MySQL作為一款強(qiáng)大的數(shù)據(jù)庫開發(fā)管理工具,正受到越來越多開發(fā)者的青睞。 Navicat 16 for MySQL擁有豐富的功能和直觀的界面,能夠幫助開發(fā)者輕松進(jìn)行數(shù)據(jù)庫

    2024年01月24日
    瀏覽(110)
  • MySQL秘籍:讓你的表操作爐火純青

    MySQL秘籍:讓你的表操作爐火純青

    ?? 每個(gè)人都有自己的一生,不要和別人去比較。比較只會讓你感到沮喪和不滿足。關(guān)注自己的成長和進(jìn)步,并享受屬于自己的旅程。 ?? ??作者:不能再留遺憾了?? ??專欄:MySQL學(xué)習(xí)?? ??本文章主要內(nèi)容:學(xué)習(xí)MySQL的對表操作。查看表、創(chuàng)建表、刪除表,對表進(jìn)行增刪改

    2024年02月07日
    瀏覽(15)
  • 使用示例和應(yīng)用程序全面了解高效數(shù)據(jù)管理的Golang MySQL數(shù)據(jù)庫

    使用示例和應(yīng)用程序全面了解高效數(shù)據(jù)管理的Golang MySQL數(shù)據(jù)庫

    Golang,也被稱為Go,已經(jīng)成為構(gòu)建強(qiáng)大高性能應(yīng)用程序的首選語言。在處理MySQL數(shù)據(jù)庫時(shí),Golang提供了一系列強(qiáng)大的庫,簡化了數(shù)據(jù)庫交互并提高了效率。在本文中,我們將深入探討一些最流行的Golang MySQL數(shù)據(jù)庫庫,通過實(shí)際示例來探索它們的功能。 GORM是用于Golang的功能豐富

    2024年02月08日
    瀏覽(52)
  • MySQL數(shù)據(jù)庫:內(nèi)置函數(shù)

    MySQL數(shù)據(jù)庫:內(nèi)置函數(shù)

    規(guī)定:日期:年月日? ? ? ?時(shí)間:時(shí)分秒 函數(shù)名稱 作用描述 current_date() 當(dāng)前日期 current_time() 當(dāng)前時(shí)間 current_timestamp() 當(dāng)前時(shí)間戳 date(datetime) 返回datetime參數(shù)的日期部分 date_add(date,interval d_value_type) 在date中添加時(shí)間或日期。interval后面可以是year、day、minute、second date_sub(da

    2024年02月11日
    瀏覽(24)
  • MySQL的數(shù)據(jù)庫操作、數(shù)據(jù)類型、表操作

    MySQL的數(shù)據(jù)庫操作、數(shù)據(jù)類型、表操作

    目錄 一、數(shù)據(jù)庫操作 (1)、顯示數(shù)據(jù)庫 (2)、創(chuàng)建數(shù)據(jù)庫 (3)、刪除數(shù)據(jù)庫 (4)、使用數(shù)據(jù)庫 二、常用數(shù)據(jù)類型 (1)、數(shù)值類型 (2)、字符串類型 (3)、日期類型 三、表操作 (1)、創(chuàng)建表 (2)、查看表 (3)、刪除表 都要看到這了,點(diǎn)個(gè)贊再走吧,謝謝謝謝謝

    2024年02月06日
    瀏覽(30)
  • 【MySQL--->數(shù)據(jù)庫操作】

    【MySQL--->數(shù)據(jù)庫操作】

    語句格式:create database [if no exists]數(shù)據(jù)庫名[create_specification [,create_specification] …]; 中括號內(nèi)是可選項(xiàng),if no exists是指如果數(shù)據(jù)庫不存在就創(chuàng)建,存在就不創(chuàng)建,相當(dāng)于自動查重. create_specification 可以指定數(shù)據(jù)庫的編碼格式和校驗(yàn)規(guī)則. drop database 數(shù)據(jù)庫名; alter database 數(shù)據(jù)庫名 指定

    2024年02月13日
    瀏覽(27)
  • MySQL 數(shù)據(jù)庫操作

    MySQL 數(shù)據(jù)庫操作

    ?提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 一、關(guān)系模型 二、數(shù)據(jù)庫的操作 創(chuàng)建數(shù)據(jù)庫 查看數(shù)據(jù)庫 選擇數(shù)據(jù)庫 刪除數(shù)據(jù)庫 三、MySQL 數(shù)據(jù)庫命名規(guī)范 總結(jié) 關(guān)系數(shù)據(jù)庫是建立在關(guān)系模型上的。而關(guān)系模型本質(zhì)上就是若干個(gè)存儲數(shù)據(jù)的

    2023年04月08日
    瀏覽(18)
  • MySQL基礎(chǔ)——數(shù)據(jù)模型·數(shù)據(jù)庫操作

    MySQL基礎(chǔ)——數(shù)據(jù)模型·數(shù)據(jù)庫操作

    ?? 作者:小劉在C站 ?? 個(gè)人主頁: 小劉主頁 ?? 每天分享云計(jì)算網(wǎng)絡(luò)運(yùn)維課堂筆記,努力不一定有回報(bào),但一定會有收獲加油!一起努力,共赴美好人生! ?? 樹高千尺,落葉歸根人生不易,人間真情 目錄 1.數(shù)據(jù)模型 2. SQL 2.1 SQL通用語法 2.3 DDL 2.3.1 數(shù)據(jù)庫操作 1). 查

    2024年02月06日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包