五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

我的2020

2021-02-19 22:16 作者:曉霧喵  | 我要投稿

我的2020,一直陪伴著的可能就是不斷更新迭代的機器人開發(fā)了。

每個河粉的群里都要必備的機器人,用來搬運口袋消息,及時更新各類消息。

一年來的開發(fā)讓我熟悉了Python的用法和一些高級特性,也讓我真正體會到 The Art of Python,如何寫出優(yōu)美自然的代碼。

一年來的開發(fā)讓我熟悉了SQL的進階用法,聯(lián)合查詢、表的權(quán)限控制等等。

對于2020年的回顧,就用SQL來展示吧!

權(quán)限控制

  • privileges:用戶的操作權(quán)限,如SELECT,INSERT,UPDATE等,若要所有的權(quán)限則使用ALL

  • databasename:數(shù)據(jù)庫名

  • tablename:表名,如果要授予該用戶對所有數(shù)據(jù)庫或?qū)?yīng)所有表的相應(yīng)操作權(quán)限則可用*表示,如*.*

另外每當調(diào)整權(quán)限后,通常需要執(zhí)行以下語句刷新權(quán)限:

查看用戶權(quán)限

撤銷用戶權(quán)限


將 GROUP 分組后的多條數(shù)據(jù)的單個字段合并為一條數(shù)據(jù)

用 GROUP_CONCAT 函數(shù)合并

GROUP_CONCAT([DISTINCT] 要連接的字段 [ORDER BY ASC/DESC 排序字段] [separator '分隔符'])


數(shù)據(jù)分組并按字段分列查詢

如何查詢數(shù)據(jù)并根據(jù)兩個字段分行分列統(tǒng)計數(shù)目,類似于 Excel 的數(shù)據(jù)透視表。例如,下面的表格card_record中,以fund_id為行,card_id為列,統(tǒng)計每個用戶獲得的各類卡片分別有多少張(條)。

要實現(xiàn)所述功能,需要在查詢的結(jié)果中判斷對應(yīng)card_id的值是哪一列,然后再通過AS命名該列,如下面的靜態(tài)版本所示

靜態(tài)版本

靜態(tài)版本有其局限性,當目標列(也就是card_id)類型眾多時,不可能手動將條件一條一條列出,因此需要利用MySQL的CONCAT等函數(shù)構(gòu)造語句,然后再執(zhí)行構(gòu)造完成的所有列條件的語句,如下面的動態(tài)版本

動態(tài)版本

  • ''',card_id,'''的目的是遍歷card_id變量的值,作為所有條件判斷的內(nèi)容,''兩個單引號轉(zhuǎn)義為字符串內(nèi)的單引號

  • CASE WHEN ... THEN ... (ELSE ...) END,若上述代碼中不寫COUNT,那么輸出的結(jié)果則是THEN后響應(yīng)的fund_id的結(jié)果

  • `',card_id,'`兩邊設(shè)置反引號的作用是聲明列名,避免字段的Unicode字符解析錯誤

  • 第2條語句(SELECT)與第3條語句(SET)查詢的表、WHERE條件應(yīng)當保持一致

注意,在使用中可能出現(xiàn)如下的提示

這是因為默認GROUP_CONCAT構(gòu)造的語句最大長度為1024,當條件過多時語句會被截斷到最大長度,在語句前用下面的代碼聲明最大長度為一個較大的值即可解決

得到的查詢結(jié)果是

我的2020的評論 (共 條)

分享到微博請遵守國家法律
来宾市| 嘉荫县| 习水县| 新竹市| 多伦县| 东乡| 屯留县| 临猗县| 隆林| 屏东市| 时尚| 岑巩县| 石棉县| 平乐县| 田东县| 东明县| 仪征市| 赤城县| 邮箱| 兴义市| 潜江市| 调兵山市| 长岭县| 金秀| 绥棱县| 北辰区| 江津市| 南京市| 噶尔县| 巴马| 南涧| 枣庄市| 府谷县| 安溪县| 清镇市| 乌兰浩特市| 石渠县| 靖江市| 安乡县| 湟中县| 黄梅县|