达梦数据库外部表

本文介绍了什么是外部表,其特点包括存储在操作系统文件、不可修改、无需装载数据到数据库。通过实例展示了如何使用SQL创建外部表,并提供了创建和查询外部表的步骤。主要涉及的知识点包括模式名、列定义和控制文件路径的使用。
摘要由CSDN通过智能技术生成

定义

外部表顾名思义,存储在数据库外面的表,外部表的数据是存储在操作系统中,是操作系统文件。建立外部表的时候,不会产生段,页,簇等存储结构,只有与表相关的定义放在数据字典中,不能对外部内容进行修改(update,insert,delete),不能对外部表建立索引。不需将外部表的数据装载到数据库中来,通过 sql 解码器来访问外部表。

如何建立外部表

模式名,表名,列定义,外部表控制路径。
Create external table <表名> <表结构定义> from <控制文件路径>|<数据文件路径><参数>;

示例1:

[dmdba@localhost ~]$ cat a.txt 
1,a
2,bb
3,ccc
4,dddd
[dmdba@localhost ~]$ cat a.ctl 
LOAD DATA
INFILE '/home/dmdba/a.txt'
INTO TABLE EXT
FIELDS ','

SQL> create external table ext(ID INT,NAME VARCHAR(20)) from '/home/dmdba/a.ctl';
操作已执行
已用时间: 16.206(毫秒). 执行号:400.
SQL> select * from ext;

行号     ID          NAME  
---------- ----------- ------
1          1           a
2          2           bb
3          3           ccc
4          4           dddd

已用时间: 21.918(毫秒). 执行号:401.

示例2:

[dmdba@localhost ~]$ cat b.txt 
1|2|3
4|3|2|5
1|3|4|5
6|7

SQL> create EXTERNAL TABLE ext1(c1 int, c2 int, c3 int) from datafile '/home/dmdba/b.txt' parms(fields delimited by '|');
操作已执行
已用时间: 29.765(毫秒). 执行号:500.
SQL> select * from ext1;

行号     C1          C2          C3         
---------- ----------- ----------- -----------
1          1           2           3
2          4           3           2
3          1           3           4
4          6           7           NULL

已用时间: 5.803(毫秒). 执行号:501.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值