H2数据库 - Create语句

H2数据库 - Create语句 首页 / H2入门教程 / H2数据库 - Create语句

CREATE是通用的SQL命令,用于在H2数据库服务器中创建表,模式,序列,视图和用户。

CREATE TABLE是用于在当前数据库中创建用户定义表的命令。

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)和临时表(TEMP)。

  • CACHED(缓存表)             -  行数不受主内存限制。

  • MEMORY(内存表)           -  内存表不应太大,索引数据应保留在主内存中。

  • TEMPORARY(临时表)     -  关闭或打开数据库时,将删除临时表。基本上,临时表有两种类型-

    • GLOBAL TYPE          -  所有连接均可访问。

    • LOCAL TYPE             -  当前连接可访问。

    临时表的默认类型是全局类型,临时表的索引保留在主内存中,除非使用CREATE CACHED TABLE创建临时表。

  • ENGINE                               -  仅在使用自定义表实现时才需要ENGINE选项。

  • NOT PERSISTENT            -  它是一个修饰符,用于将完整的表数据保留在内存中,并且在关闭数据库时所有行都将丢失。

  • TRANSACTIONAL            -  它是提交未完成事务的关键字,此命令仅支持临时表。

Create Table - 示例

在此示例中,让无涯教程使用以下给定数据创建一个名为Learnfk_tbl的表。

以下查询用于创建表 Learnfk_tbl 以及给定的列数据。

CREATE TABLE Learnfk_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是用于提供相应用户名的关键字,该命令是可选的这意味着如果无涯教程不提供用户名,则它将考虑当前用户。

Create Schema - 示例

在此示例中,让无涯教程使用以下命令在SA用户下创建名为 test_schema 的架构。

CREATE SCHEMA test_schema AUTHORIZATION sa; 

上面的命令产生以下输出。

(0) rows effected 

Create Sequence - 语法

序列是一个概念,用于通过遵循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 ,按照这种顺序,即使回滚了事务,也永远不会重复使用值。

Create Sequence - 示例

在此示例中,让无涯教程使用以下查询创建名为 SEQ_ID 的序列。

CREATE SEQUENCE SEQ_ID; 

上面的查询产生以下输出。

(0) rows effected 

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

零基础学Python -〔尹会生〕

面试现场 -〔白海飞〕

性能工程高手课 -〔庄振运〕

摄影入门课 -〔小麥〕

Web安全攻防实战 -〔王昊天〕

A/B测试从0到1 -〔张博伟〕

技术面试官识人手册 -〔熊燚(四火)〕

Vue 3 企业级项目实战课 -〔杨文坚〕

PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕

好记忆不如烂笔头。留下您的足迹吧 :)