- H2資料庫教程
- H2資料庫 - 首頁
- H2資料庫 - 簡介
- H2資料庫 - 安裝
- H2資料庫 - 資料操作
- H2資料庫 - 查詢
- H2資料庫 - 插入
- H2資料庫 - 更新
- H2資料庫 - 刪除
- H2資料庫 - 備份
- H2資料庫 - 呼叫
- H2資料庫 - 解釋
- H2資料庫 - 合併
- H2資料庫 - 顯示
- H2資料庫 - 資料定義
- H2資料庫 - 建立
- H2資料庫 - 修改
- H2資料庫 - 刪除
- H2資料庫 - 截斷
- H2資料庫 - 提交
- H2資料庫 - 授權
- H2資料庫 - 儲存點
- H2資料庫 - 回滾
- H2資料庫 - JDBC連線
- H2資料庫有用資源
- H2資料庫 - 快速指南
- H2資料庫 - 有用資源
- H2資料庫 - 討論
H2資料庫 - 建立
CREATE是一個通用的SQL命令,用於在H2資料庫伺服器中建立表、模式、序列、檢視和使用者。
建立表
建立表是一個用於在當前資料庫中建立使用者定義表的命令。
語法
以下是Create Table命令的通用語法。
CREATE [ CACHED | MEMORY ] [ TEMP | [ GLOBAL | LOCAL ] TEMPORARY ]
TABLE [ IF NOT EXISTS ] name
[ ( { columnDefinition | constraint } [,...] ) ]
[ ENGINE tableEngineName [ WITH tableEngineParamName [,...] ] ]
[ NOT PERSISTENT ] [ TRANSACTIONAL ]
[ AS select ]
透過使用Create Table命令的通用語法,我們可以建立不同型別的表,例如快取表、記憶體表和臨時表。以下是描述給定語法中不同子句的列表。
CACHED - 快取表是常規表的預設型別。這意味著行數不受主記憶體限制。
MEMORY - 記憶體表是臨時表的預設型別。這意味著記憶體表不應過大,索引資料保留在主記憶體中。
TEMPORARY - 關閉或開啟資料庫時會刪除臨時表。基本上,臨時表有兩種型別:
GLOBAL型別 - 所有連線都可以訪問。
LOCAL型別 - 當前連線可以訪問。
臨時表的預設型別為全域性型別。臨時表的索引保留在主記憶體中,除非使用CREATE CACHED TABLE建立臨時表。
ENGINE - 僅當使用自定義表實現時才需要ENGINE選項。
NOT PERSISTENT - 它是一個修飾符,用於將完整的表資料儲存在記憶體中,並且在關閉資料庫時所有行都會丟失。
TRANSACTIONAL - 它是一個關鍵字,用於提交開啟的事務,並且此命令僅支援臨時表。
示例
在此示例中,讓我們使用以下給定資料建立一個名為tutorials_tbl的表。
| 序號 | 列名 | 資料型別 |
|---|---|---|
| 1 | ID | Int |
| 2 | 標題 | Varchar(50) |
| 3 | 作者 | Varchar(20) |
| 4 | 提交日期 | 日期 |
以下查詢用於建立表tutorials_tbl以及給定的列資料。
CREATE TABLE tutorials_tbl ( id INT NOT NULL, title VARCHAR(50) NOT NULL, author VARCHAR(20) NOT NULL, submission_date DATE );
上述查詢產生以下輸出。
(0) rows effected
建立模式
Create Schema是一個用於在特定授權下(在當前註冊的使用者下)建立使用者依賴模式的命令。
語法
以下是Create Schema命令的通用語法。
CREATE SCHEMA [ IF NOT EXISTS ] name [ AUTHORIZATION ownerUserName ]
在上述通用語法中,AUTHORIZATION是一個用於提供相應使用者名稱的關鍵字。此命令是可選的,這意味著如果我們不提供使用者名稱,則它將考慮當前使用者。執行該命令的使用者必須具有管理員許可權以及所有者許可權。
此命令在此連線中提交開啟的事務。
示例
在此示例中,讓我們使用以下命令在SA使用者下建立一個名為test_schema的模式。
CREATE SCHEMA test_schema AUTHORIZATION sa;
上述命令產生以下輸出。
(0) rows effected
建立序列
序列是一個用於生成數字的概念,用於遵循id或任何隨機列值的序列。
語法
以下是create sequence命令的通用語法。
CREATE SEQUENCE [ IF NOT EXISTS ] newSequenceName [ START WITH long ] [ INCREMENT BY long ] [ MINVALUE long | NOMINVALUE | NO MINVALUE ] [ MAXVALUE long | NOMAXVALUE | NO MAXVALUE ] [ CYCLE long | NOCYCLE | NO CYCLE ] [ CACHE long | NOCACHE | NO CACHE ]
此通用語法用於建立序列。序列的資料型別為BIGINT。在此序列中,即使回滾事務,值也不會被重複使用。
示例
在此示例中,讓我們使用以下查詢建立一個名為SEQ_ID的序列。
CREATE SEQUENCE SEQ_ID;
上述查詢產生以下輸出。
(0) rows effected