第1章KingbaseES概述1
1.1簡介1
1.1.1發展歷史1
1.1.2版本分類3
1.1.3技術特性3
1.1.4繫統安裝4
1.2SQL概述4
1.2.1SQL特點4
1.2.2SQL功能組成5
1.2.3SQL標準5
1.3開發環境概述6
1.3.1命令行開發工具KSQL6
1.3.2數據庫開發管理工具KStudio8
1.4用例庫9
1.4.1用例庫描述9
1.4.2用例庫模式9
1.4.3用例數據10
第2章SQL語言基礎12
2.1標識符與關鍵字12
2.2常用數據類型與操作符13
2.2.1數值類型14
2.2.2字符類型17
2.2.3二進制類型19
2.2.4日期和時間類型20
2.2.5布爾類型23
2.2.6位串類型24
2.2.7枚舉類型24
2.2.8範圍類型25
2.2.9數組類型28
2.3函數29
2.3.1數學函數29
2.3.2字符串函數31
2.3.3二進制串函數32
2.3.4位串函數33
2.3.5時間/日期函數33
2.3.6枚舉函數35
2.3.7範圍函數36
2.3.8數組函數36
2.4數據類型轉換36
2.4.1數據類型轉換場景36
2.4.2類型轉換規則37
目錄
第3章KingbaseES的數據庫對像39
3.1數據庫對像概述39
3.2數據庫40
3.2.1創建數據庫40
3.2.2修改數據庫41
3.2.3刪除數據庫42
3.2.4數據庫字符集編碼42
3.3模式45
3.3.1模式概述45
3.3.2模式的創建、修改和刪除46
3.3.3模式的使用47
3.4表空間48
3.4.1表空間概述48
3.4.2表空間的創建、修改和刪除49
3.4.3表空間的使用50
3.5表51
3.5.1創建表51
3.5.2修改表55
3.5.3刪除表57
3.5.4默認值58
3.5.5生成列59
3.5.6臨時表60
3.5.7繼承表61
3.5.8分區表65
3.6約束69
3.6.1約束概述69
3.6.2主碼約束70
3.6.3外碼約束71
3.6.4非空約束73
3.6.5唯一約束73
3.6.6檢查74
3.6.7排他約束75
3.6.8禁用/啟用約束76
3.6.9約束檢查78
3.7索引79
3.7.1管理索引80
3.7.2索引類型83
3.7.3索引方法83
3.8視圖85
3.8.1視圖的概念85
3.8.2管理視圖86
3.8.3物化視圖92
3.9序列93
3.9.1創建序列94
3.9.2使用序列94
3.9.3修改序列96
3.9.4刪除序列96
3.10同義詞97
3.10.1創建同義詞97
3.10.2修改同義詞98
3.10.3刪除同義詞98
3.11自定義數據類型及自定義操作符98
3.11.1自定義數據類型98
3.11.2自定義操作符99
3.11.3修改操作符100
3.11.4刪除操作符100
3.12繫統表101
3.12.1繫統目錄和繫統表概述101
3.12.2數據庫對像的繫統表103
3.12.3用戶和模式相關的繫統表103
3.12.4表相關的繫統表105
3.12.5索引相關的繫統表107
3.12.6序列相關的繫統表108
3.12.7視圖相關的繫統表108
3.12.8約束相關的繫統表109
3.12.9同義詞相關的繫統表111
3.13繫統視圖112
3.13.1繫統視圖概述112
3.13.2用戶相關的繫統視圖113
3.13.3表相關的繫統視圖113
3.13.4視圖相關的繫統視圖114
3.13.5索引相關的繫統視圖115
3.13.6序列相關的繫統視圖115
第4章KingbaseES的查詢語句117
4.1單表查詢117
4.1.1簡單查詢117
4.1.2條件查詢119
4.1.3模糊查詢122
4.1.4去重123
4.1.5排序125
4.1.6指定查詢結果行數126
4.1.7偽列128
4.1.8條件邏輯結構129
4.2分組聚集查詢135
4.2.1聚集函數135
4.2.2分組查詢136
4.3連接查詢137
4.3.1JOIN連接138
4.3.2謂詞連接144
4.4子查詢146
4.4.1單行單列子查詢147
4.4.2單行子查詢147
4.4.3表子查詢149
4.4.4FROM子句中的子查詢154
4.4.5WITH子句155
4.5集合操作156
4.5.1使用UNION ALL操作符157
4.5.2使用UNION操作符158
4.5.3使用INTERSECT操作符158
4.5.4使用EXCEPT操作符159
4.6層次查詢159
4.6.1查詢語法160
4.6.2偽列163
4.6.3結果格式化165
4.6.4指定層次查詢的開始結點166
4.6.5自底向上的層次查詢167
4.6.6精簡查詢結果168
4.6.7查詢分層數據169
4.7窗口函數170
4.7.1概述170
4.7.2調用窗口函數171
4.7.3標準聚合函數作為窗口函數173
4.7.4排序窗口函數177
4.7.5分組排序窗口函數179
4.7.6偏移分析窗口函數180
4.7.7用first_value()和last_value()獲取第一行和最後一行182
4.7.8用nth_value()函數獲取第n行182
4.7.9Listagg()函數183
4.8ROLLUP和CUBE184
4.8.1grouping SETS186
4.8.2使用ROLLUP子句189
4.8.3使用CUBE子句192
4.8.4分組操作函數grouping()195
4.9PIVOT和UNPIVOT202
4.9.1PIVOT行轉列202
4.9.2轉換多列203
4.9.3在轉換中使用多個聚集函數204
4.9.4UNPIVOT列轉行205
第5章KingbaseES的DML語句207
5.1插入語句207
5.1.1基本插入與批量插入207
5.1.2INSERT ON CONFLICT214
5.1.3RETURNING子句返回值215
5.2更新語句216
5.2.1UPDATE更新語句216
5.2.2RETURNING子句的返回值217
5.3刪除語句218
5.3.1刪除數據的三種命令218
5.3.2RETURNING子句的返回值219
5.4歸並語句220
5.5數據導入導出222第6章KingbaseES的事務處理227
6.1事務概述227
6.1.1事務的定義227
6.1.2事務的特性228
6.2事務的提交與回滾228
6.3保存點230
6.4事務的隔離級別232
6.4.1事務隔離級別概述232
6.4.2設置事務隔離級別233
6.4.3READ COMMITTED隔離級別235
6.4.4REPEATABLE READ隔離級別237
6.4.5SERIALIZABLE隔離級別240
6.5死鎖240
第7章KingbaseES的用戶與權限243
7.1概述243
7.2用戶管理244
7.2.1預定義管理用戶244
7.2.2創建用戶/角色246
7.2.3修改用戶/角色249
7.2.4刪除用戶/角色250
7.2.5啟用和禁用用戶/角色251
7.2.6查看用戶信息的常用繫統視圖253
7.3權限管理253
7.3.1權限概述253
7.3.2繫統權限254
7.3.3對像權限256
7.3.4查看用戶和角色權限的常用繫統視圖260
7.4行級權限260
7.4.1行級權限概述260
7.4.2啟用行級權限261
7.4.3創建策略261
7.4.4修改策略262
7.4.5刪除策略262
7.4.6使用行級安全權限263
第8章KingbaseES的外部數據訪問265
8.1概述265
8.2kdb_database_link插件266
8.2.1插件配置266
8.2.2創建DBLink對像267
8.2.3使用DBLink對像查詢外部數據庫268
8.2.4使用DBLink對像更新外部數據庫270
8.3DBLINK插件271
8.3.1插件配置271
8.3.2創建DBLINK對像271
8.3.3使用DBLINK對像訪問遠程數據庫273
8.4FDW插件274
8.4.1插件配置274
8.4.2創建外部服務器和用戶映射275
8.4.3創建外部表277
8.4.4使用外部表訪問遠程數據庫278
第9章KingbaseES的復雜數據類型279
9.1文本搜索數據類型279
9.1.1概述279
9.1.2text279
9.1.3tsvector280
9.1.4tsquery282
9.1.5全文檢索綜合示例284
9.1.6文本搜索類型操作符和函數285
9.2XML數據287
9.2.1概述287
9.2.2生成XML數據287
9.2.3將關繫數據映射為XML數據289
9.2.4查詢XML數據293
9.2.5XML函數298
9.3JSON數據300
9.3.1概述300
9.3.2生成JSON數據301
9.3.3查詢JSON數據302
9.3.4JSON索引306
9.3.5JSON函數306
第10章數據庫編程接口309
10.1概述309
10.2JDBC311
10.2.1環境配置311
10.2.2數據庫連接312
10.2.3數據更新314
10.2.4數據查詢317
10.2.5執行存儲過程318
10.2.6事務處理319
10.2.7大對像操作322
10.3Hibernate開發框架324
10.3.1開發流程325
10.3.2環境配置325
10.3.3生成實體類326
10.3.4Hibernate編程330
10.4Python編程接口334
10.4.1環境配置334
10.4.2數據庫連接與配置335
10.4.3數據類型映射335
10.4.4執行SQL語句336
10.4.5應用舉例337
參考文獻339