CREATE是一个通用SQL命令,用于在H2数据库服务器中创建表,模式,序列,视图和用户.
创建表
Create Table是一个用于在当前数据库中创建用户定义表的命令.
语法
以下是Create的通用语法表命令.
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 : 关闭或打开数据库时会删除临时表.基本上,临时表有两种类型 :
临时表的默认类型是全局类型.临时表的索引保存在主内存中,除非使用CREATE CACHED TABLE创建临时表.
GLOBAL type : 所有连接均可访问.
LOCAL type : 可通过当前连接访问.
ENGINE : 只有在使用自定义表实现时才需要ENGINE选项.
NOT PERSISTENT : 它是一个修饰符,用于将完整的表数据保存在内存中,并且在数据库关闭时所有行都会丢失.
TRANSACTIONAL : 去;它是一个提交打开事务的关键字,该命令仅支持临时表.
示例
在这个例子中,让我们使用以下给定数据创建一个名为tutorials_tbl的表.
Sr.No | 列名 | 数据类型 |
---|---|---|
1 | ID | Int |
2 | Title | Varchar(50) |
3 | Author | Varchar(20) |
4 | Submission_date | 日期 |
以下查询用于创建表 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 [ 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