亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PostgreSQL 復(fù)制表的 5 種方式詳解

 更新時(shí)間:2023年01月18日 11:19:52   作者:不剪發(fā)的Tony老師  
PostgreSQL 提供了多種不同的復(fù)制表的方法,它們的差異在于是否需要復(fù)制表結(jié)構(gòu)或者數(shù)據(jù),這篇文章主要介紹了PostgreSQL 復(fù)制表的 5 種方式,需要的朋友可以參考下

PostgreSQL 提供了多種不同的復(fù)制表的方法,它們的差異在于是否需要復(fù)制表結(jié)構(gòu)或者數(shù)據(jù)。

CREATE TABLE AS SELECT 語句

CREATE TABLE AS SELECT 語句可以用于復(fù)制表結(jié)構(gòu)和數(shù)據(jù),但是不會復(fù)制索引。

我們可以使用以下語句基于 employee 復(fù)制一個(gè)新表 emp2,包括表中的數(shù)據(jù):

CREATE TABLE emp2 
AS
SELECT * FROM employee;

如果只想要復(fù)制表結(jié)構(gòu),不復(fù)制數(shù)據(jù),可以增加 WITH NO DATA 子句:

CREATE TABLE emp2 
AS
SELECT * FROM employee
WITH NO DATA;

或者也可以使用一個(gè)不返回任何結(jié)果的查詢語句,例如:

CREATE TABLE emp2 
AS
SELECT * FROM employee
WHERE FALSE;

這種復(fù)制方法不會創(chuàng)建任何索引或者約束,例如主鍵、外鍵以及 NOT NULL 約束等。

CREATE TABLE LIKE 語句

CREATE TABLE LIKE 語句也可以用于復(fù)制表結(jié)構(gòu):

CREATE TABLE emp3 
(LIKE employee);

語法中的括號是必不可少的,而且這種方法不會復(fù)制數(shù)據(jù),但是會復(fù)制字段的 NOT NULL 約束。

CREATE TABLE AS TABLE 語句

CREATE TABLE AS TABLE 語句可以復(fù)制表結(jié)構(gòu)和數(shù)據(jù),例如:

CREATE TABLE emp4 
AS 
TABLE employee
WITH NO DATA;

這種語法不會復(fù)制索引、外鍵以及非空約束等。

如果不需要復(fù)制數(shù)據(jù),可以使用 WITH NO DATA 子句:

CREATE TABLE emp4 
AS 
TABLE employee
WITH NO DATA;

SELECT INTO 語句

SELECT INTO 語句可以復(fù)制表結(jié)構(gòu)和數(shù)據(jù),但是不包含索引等。例如:

SELECT * INTO emp5 FROM employee;

PostgreSQL 推薦使用 CREATE TABLE AS 替代 SELECT INTO 語句實(shí)現(xiàn)類似效果,因?yàn)榍罢哌m用性更廣,功能更全。

CREATE TABLE INHERITS 語句

PostgreSQL 支持 CREATE TABLE 語句的 INHERIT 子句,用于繼承表結(jié)構(gòu)。這種復(fù)制表的方法和其他方法有所區(qū)別,任何針對父表的修改通常也會自動(dòng)修改子表。

另外,這種方法還可以為子表定義額外的字段。例如:

CREATE TABLE emp5 (
    notes text NOT NULL
) 
INHERITS ( employee );

其中,notes 是我們額外定義的字段,其他字段繼承 employee。

使用 psql \d 命令查看 emp5 的結(jié)構(gòu)如下:

\d emp5

                        Table "public.emp5"
  Column   |          Type          | Collation | Nullable | Default
-----------+------------------------+-----------+----------+---------
 emp_id    | integer                |           | not null |
 emp_name  | character varying(50)  |           | not null |
 sex       | character varying(10)  |           | not null |
 dept_id   | integer                |           | not null |
 manager   | integer                |           |          |
 hire_date | date                   |           | not null |
 job_id    | integer                |           | not null |
 salary    | numeric(8,2)           |           | not null |
 bonus     | numeric(8,2)           |           |          |
 email     | character varying(100) |           | not null |
 notes     | text                   |           | not null |
Check constraints:
    "ck_emp_salary" CHECK (salary > 0::numeric)
    "ck_emp_sex" CHECK (sex::text = ANY (ARRAY['男'::character varying, '女'::character varying]::text[]))
Inherits: employee

到此這篇關(guān)于PostgreSQL 復(fù)制表的 5 種方式的文章就介紹到這了,更多相關(guān)PostgreSQL 復(fù)制表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PostGresql 實(shí)現(xiàn)四舍五入、小數(shù)轉(zhuǎn)換、百分比的用法說明

    PostGresql 實(shí)現(xiàn)四舍五入、小數(shù)轉(zhuǎn)換、百分比的用法說明

    這篇文章主要介紹了PostGresql 實(shí)現(xiàn)四舍五入、小數(shù)轉(zhuǎn)換、百分比的用法說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • postgresql 計(jì)算兩點(diǎn)距離的2種方法小結(jié)

    postgresql 計(jì)算兩點(diǎn)距離的2種方法小結(jié)

    這篇文章主要介紹了postgresql 計(jì)算兩點(diǎn)距離的2種方法小結(jié),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL 如何查找需要收集的vacuum 表信息

    PostgreSQL 如何查找需要收集的vacuum 表信息

    這篇文章主要介紹了PostgreSQL 如何查找需要收集的vacuum 表信息,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • PostgreSQL12.5中分區(qū)表的一些操作實(shí)例

    PostgreSQL12.5中分區(qū)表的一些操作實(shí)例

    PostgreSQL支持通過表繼承進(jìn)行分區(qū),下面這篇文章主要給大家介紹了關(guān)于PostgreSQL12.5中分區(qū)表的一些操作的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Postgresql自定義函數(shù)詳解

    Postgresql自定義函數(shù)詳解

    這篇文章主要介紹了Postgresql自定義函數(shù)詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • PostgreSQL+Pgpool實(shí)現(xiàn)HA主備切換的操作

    PostgreSQL+Pgpool實(shí)現(xiàn)HA主備切換的操作

    這篇文章主要介紹了PostgreSQL+Pgpool實(shí)現(xiàn)HA主備切換操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • PostgreSQL 自增語法的用法說明

    PostgreSQL 自增語法的用法說明

    這篇文章主要介紹了PostgreSQL 自增語法的用法說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Postgresql分布式插件plproxy的使用詳解

    Postgresql分布式插件plproxy的使用詳解

    這篇文章主要介紹了Postgresql分布式插件plproxy的使用詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL新手入門教程

    PostgreSQL新手入門教程

    本文介紹PostgreSQL的安裝和基本用法,供初次使用者上手。以下內(nèi)容基于Debian操作系統(tǒng),其他操作系統(tǒng)實(shí)在沒有精力兼顧,但是大部分內(nèi)容應(yīng)該普遍適用
    2014-06-06
  • PostgreSQL教程(二十):PL/pgSQL過程語言

    PostgreSQL教程(二十):PL/pgSQL過程語言

    這篇文章主要介紹了PostgreSQL教程(二十):PL/pgSQL過程語言,本文講解了、PL/pgSQL概述、PL/pgSQL的結(jié)構(gòu)、聲明、基本語句、控制結(jié)構(gòu)等內(nèi)容,需要的朋友可以參考下
    2015-05-05

最新評論