当前位置:网站首页>PostgreSQL中的表复制
PostgreSQL中的表复制
2022-07-07 09:03:00 【秋漓】
PostgreSQL提供了两种方式用来进行表复制:
1、create table as
2、create table like
数据准备
创建含有序列、主键、注释、CHECK约束的tmp表用于后续测试:
create table tmp(
id SERIAL,
name VARCHAR(100) primary key,
num int CHECK(10<num and num<100)
);
comment on column tmp.id is '标识码';
comment on column tmp.name is '名称';
comment on column tmp.num is '数量';
insert into tmp(name,num) VALUES('苹果',61);
insert into tmp(name,num) VALUES('香蕉',51);
表的DDL展示:
下面就来讲讲两种表复制方式的结果:
create table as
挺常规的方法,在复制表结构的时候还可以带上数据。不过这种复制会丢失原有表的注释、约束等信息。
create table tmp_x as select * from tmp where name='苹果';
DDL:
create table like
语法:create table tar_table LIKE source_table [ like_option ... ]
like_option有下列几种选择:
1、INCLUDING COMMENTS
:注释
2、INCLUDING CONSTRAINTS
:CHECK约束
3、INCLUDING DEFAULTS
:被拷贝的列定义的默认表达式才会被拷贝。默认的行为是排除默认表达式,导致新表中被拷贝过来的列的默认值为空值。注意,如果拷贝的默认值调用了数据库修改函数(如nextval),则可能在原始表和新表之间创建功能联系。
4、INCLUDING IDENTITY
:拷贝复制字段定义的标识声明。 为新表的每个标识列创建一个新的序列,与旧表相关的序列区分开。
5、INCLUDING INDEXES
:主键约束 和索引约束
6、INCLUDING STORAGE
:复制而来的列定义的STORAGE设置才会被复制。默认行为会排除STORAGE设置,导致新表中复制而来的列具有与类型相关的默认设置
7、INCLUDING STATISTICS
:扩展统计会被复制到新表
8、INCLUDING ALL
:是 INCLUDING COMMENTS INCLUDING CONSTRAINTS INCLUDING DEFAULTS INCLUDING IDENTITY INCLUDING INDEXES INCLUDING STATISTICS INCLUDING STORAGE.的简写形式。
一般我们复制时只用 INCLUDING COMMENTS INCLUDING CONSTRAINTS INCLUDING INDEXES就够了。
示例1:
create table tmp_a (like tmp);
示例2:
只使用INCLUDING DEFAULTS拷贝列定义
create table tmp_b (like tmp INCLUDING defaults);
示例3:
使用INCLUDING COMMENTS INCLUDING CONSTRAINTS INCLUDING INDEXES拷贝注释、约束
create table tmp_c (like tmp INCLUDING comments including constraints including indexes);
各种拷贝结果的DDL:
示例1 | 示例2 | 示例3 |
春江潮水连海平,海上明月共潮生。 --张若虚《春江花月夜》
边栏推荐
- Mysql的json格式查询
- VR development optimization
- Mendeley -- a free document management tool that automatically inserts references into papers
- JSON format query of MySQL
- 从色情直播到直播电商
- [machine learning 03] Lagrange multiplier method
- 香橙派OrangePi 4 LTS开发板通过Mini PCIE连接SATA硬盘的操作方法
- Using tansformer to segment three-dimensional abdominal multiple organs -- actual battle of unetr
- Unity determines whether the mouse clicks on the UI
- [untitled]
猜你喜欢
[C #] the solution of WinForm operation zoom (blur)
The use of list and Its Simulation Implementation
Unity script generates configurable files and loads
ADB utility commands (network package, log, tuning related)
"Dream Cup" 2017 Jiangsu information and future primary school summer camp it expert PK program design questions
Arduino board description
【机器学习 03】拉格朗日乘子法
單調性約束與反單調性約束的區別 monotonicity and anti-monotonicity constraint
Operation method of Orange Pie orangepi 4 lts development board connecting SATA hard disk through mini PCIe
[système recommandé 01] rechub
随机推荐
Wallhaven壁纸桌面版
Those confusing concepts (3): function and class
Différences entre les contraintes monotones et anti - monotones
MPX plug-in
Kitex 重试机制
從色情直播到直播電商
seata 1.3.0 四種模式解决分布式事務(AT、TCC、SAGA、XA)
2022.7.6DAY598
[pro test feasible] error while loading shared libraries solution
Unity determines whether the mouse clicks on the UI
【C#】WinForm运行缩放(变糊)的解决方法
Mpx 插件
VR development optimization
The eighth training assignment
The fifth training assignment
Some online academic report websites and machine learning videos
PR Lecture Notes
[installation system] U disk installation system tutorial, using UltraISO to make U disk startup disk
[untitled]
从色情直播到直播电商