文档首页 > > 用户指南> SQL作业控制台> SQL数据管理> 创建数据库和表

创建数据库和表

分享
更新时间: 2019/05/14 GMT+08:00

操作场景

  • 数据库是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。表是数据库最重要的组成部分之一。表是由行与列组合成的。每一列被当作是一个字段。每个字段中的值代表一种类型的数据。数据库是一个框架,表是其实质内容。一个数据库包含一个或者多个表。
  • DLI中数据库的概念、基本用法与Oracle数据库基本相同,它还是DLI管理权限的基础单元,赋权以数据库为单位。
  • 用户可通过管理控制台或SQL语句创建数据库和表,其中SQL语句的操作方法请参见创建数据库使用DataSource语法创建表使用Hive语法创建表创建表。本章节介绍在管理控制台创建数据库和表的操作步骤。
  • 当OBS的目录下有同名文件夹和文件时,创建OBS表指向该路径会优先指向文件而非文件夹。

创建数据库

  1. 创建数据库的入口有两个,分别在“数据管理”“作业编辑器”页面。

    • “数据管理”页面创建数据库。
      1. 在SQL作业管理控制台的顶部菜单栏中,选择“数据管理”
      2. “数据管理”页面,显示当前已有的数据库列表,在数据库列表左上方,单击可创建数据库。
    • “作业编辑器”页面创建数据库。
      1. 在SQL作业管理控制台的顶部菜单栏中,选择“作业编辑器”
      2. 在左侧导航栏单击选择“数据库”,单击右侧可创建数据库。

  2. “创建数据库”页面,参见表1输入数据库名称和描述信息。

    图1 创建数据库
    表1 参数说明

    参数名称

    描述

    示例

    数据库名称

    • 数据库名称只能包含数字、英文字母和下划线,但不能是纯数字,且不能以下划线开头。
    • 数据库名称大小写不敏感且不能为空。
    • 输入长度不能超过128个字符。

    DB01

    描述

    该数据库的描述。

    -

    说明:

    “default”为内置数据库,不能创建名为“default”的数据库。

  3. 单击“确定”,完成数据库创建。

    数据库创建成功后,您可以在“数据管理”页面或者“作业编辑器”页面查看和选择使用对应的数据库。

创建表

创建表前,请确保数据库已创建。

  1. 创建表的入口有两个,分别在“数据管理”“作业编辑器”页面。

    说明:

    下述两种方式不支持创建CloudTable表。可通过SQL方式创建CloudTable表,具体请参考创建DLI表关联CloudTable

    • “数据管理”页面创建表。
      1. 在SQL作业管理控制台的顶部菜单栏中,选择“数据管理”
      2. 在数据库列表中,选择需要建表的数据库。在其“操作”栏中,单击“创建表”,可创建当前数据库下的表。
    • “作业编辑器”页面创建表。
      1. 在SQL作业管理控制台的顶部菜单栏中,选择“作业编辑器”
      2. “作业编辑器”页面的左侧导航栏单击选择“数据库”,单击数据库名,在“表”区域右侧单击可创建当前数据库下的表。

  2. “创建表”页面,填写参数。

    • 当数据位置为DLI时,请参见表2填写相关参数;
      图2 创建表-DLI
    • 当数据位置为OBS时,请参见表2表3填写相关参数。
      图3 创建表-OBS
      表2 通用参数说明

      参数名称

      描述

      示例

      表名

      • 表名称只能包含数字、英文字母和下划线,但不能是纯数字,且不能以下划线开头。
      • 表名称大小写不敏感且不能为空。
      • 输入长度不能超过128个字符。

      table01

      数据位置

      数据存储位置,当前支持DLI和OBS。

      OBS

      表描述

      该表的描述。

      -

      列名

      表的列名。列名应至少包含一个字母,并允许下划线(_),但不支持纯数字,以及数字与以字母B,K,M,G或D结尾的组合。

      可选择“普通列”或“分区列”。“分区列”是分区表专用的,对用户数据进行分区,可提高查询效率。

      说明:

      列名不区分大小写,不能相同。

      name

      类型

      “列名”对应,表示该列的数据类型。

      • 字符串(string):字符串类型。
      • 有符号整数(int):存储空间为4字节。
      • 日期类型(date):所表示日期的范围为0000-01-01 to 9999-12-31。
      • 双精度浮点型(double):存储空间为8字节。
      • 布尔类型(boolean):存储空间为1字节。
      • 固定有效位数和小数位数的数据类型(decimal):有效位数为1~38之间的正整数,包含1和38;小数位数为小于10的整数。
      • 有符号整数(short):存储空间为2字节。
      • 时间戳(timestamp):表示日期和时间,可达到小数点后6位。
      • 有符号整数(long):存储空间为8字节。
      • 有符号整数(smallint):存储空间为2字节。
      • 有符号整数(bigint):存储空间为8字节。

      string

      列描述

      该列的描述。

      -

      操作

      • 添加列
      • 删除列
        说明:

        当列数较多时,建议您使用SQL语句创建表,或直接从本地Excel导入列信息。

      -

      表3 数据位置为OBS的参数说明

      参数名称

      描述

      示例

      数据格式

      支持以下数据格式。

      • Parquet:DLI支持读取不压缩、snappy压缩、gzip压缩的parquet数据。
      • CSV:DLI支持读取不压缩、gzip压缩的csv数据。
      • ORC:DLI支持读取不压缩、snappy压缩的orc数据。
      • JSON:DLI支持读取不压缩、gzip压缩的json数据。
      • Carbon:DLI支持读取不压缩的carbon数据。
      • Avro:DLI支持读取不压缩的avro数据。

      CSV

      路径

      直接输入路径或单击“OBS”选择OBS的路径。路径须以“s3a://”开头。

      说明:

      若是需要将OBS上的数据导入OBS表,则建表路径必须是文件夹。

      s3a://obs1/sampledata.csv

      表头

      “数据格式”“CSV”时该参数有效。

      设置导入数据源是否含表头。选中“高级选项”,勾选表头前的方框表示有表头,去勾选表示无表头。

      -

      自定义分隔符

      “数据格式”“CSV”,并在自定义分隔符前的方框打勾时,该参数有效。

      选中高级选项,支持选择如下分隔符。

      • 逗号(,)
      • 竖线(|)
      • 制表符(\t)
      • 其他:输入自定义分隔符

      逗号(,)

      自定义引用字符

      “数据格式”“CSV”,并在自定义引用字符前的方框打勾时,该参数有效。

      选中高级选项,支持选择如下引用字符。

      • 单引号(')
      • 双引号(")
      • 其他:输入自定义引用字符

      单引号(')

      自定义转义字符

      “数据格式”“CSV”,并在自定义转义字符前的方框打勾时,该参数有效。

      选中高级选项,支持选择如下转义字符。

      • 反斜杠(\)
      • 其他:输入自定义转义字符

      反斜杠(\)

      日期格式

      “数据格式”“CSV”“JSON”时此参数有效。

      选中“高级选项”,该参数表示表中日期的格式,默认格式为“yyyy-MM-dd”。日期格式字符定义详见加载数据中的“表3 日期及时间模式字符定义”。

      2000-01-01

      时间戳格式

      “数据格式”“CSV”“JSON”时此参数有效。

      选中“高级选项”,该参数表示表中时间戳的格式,默认格式为“yyyy-MM-dd HH:mm:ss”。时间戳格式字符定义详见加载数据中的“表3 日期及时间模式字符定义”。

      2000-01-01 09:00:00

  3. 单击“确定”,完成表创建。

    表创建成功后,您可以在“数据管理”页面或者“作业编辑器”页面查看和选择使用对应的表。

  4. (可选)DLI表创建完成后,您可以选择是否直接向该表导入数据。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区