最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
文昌市| 临安市| 阿合奇县| 肇东市| 大埔区| 岢岚县| 乌兰浩特市| 崇左市| 金湖县| 阿坝| 石家庄市| 都兰县| 天镇县| 宝应县| 寿光市| 连山| 汝南县| 梓潼县| 雅安市| 西充县| 精河县| 东乌| 彰化县| 清流县| 新建县| 阜南县| 石阡县| 西和县| 茂名市| 余江县| 若尔盖县| 茂名市| 定安县| 思南县| 南昌市| 永定县| 合阳县| 萝北县| 巴东县| 元阳县| 武鸣县|