五月天青色头像情侣网名,国产亚洲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的評論 (共 條)

分享到微博請遵守國家法律
宜丰县| 南澳县| 射阳县| 陇川县| 黎川县| 车险| 长寿区| 凤阳县| 琼海市| 鹤山市| 东海县| 东乌珠穆沁旗| 棋牌| 仁寿县| 海城市| 陇南市| 略阳县| 宾川县| 塘沽区| 钟祥市| 西乌珠穆沁旗| 敦煌市| 北流市| 洱源县| 阿拉善盟| 谢通门县| 昭平县| 长沙市| 那坡县| 驻马店市| 平顶山市| 丹江口市| 武陟县| 舟曲县| 大洼县| 共和县| 秦安县| 金坛市| 嘉兴市| 德化县| 农安县|