zoukankan      html  css  js  c++  java
  • CUBRID学习笔记 31 通过select创建表

    语法

    CREATE {TABLE | CLASS} <table_name>

                       [( <column_definition> [,<table_constraint>]... )]

                       [REPLACE] AS <select_statement>

     

    如下

    CREATE TABLE a_tbl(

    id INT NOT NULL DEFAULT 0 PRIMARY KEY,

    phone VARCHAR(10));

    INSERT INTO a_tbl VALUES(1,'111-1111'), (2,'222-2222'), (3, '333-3333');

     

    --没有列定义

    CREATE TABLE new_tbl1 AS SELECT * FROM a_tbl;

    SELECT * FROM new_tbl1;

     

               id  phone

    ===================================

                1  '111-1111'

                2  '222-2222'

                3  '333-3333'

     

    --复制表的内容

    CREATE TABLE new_tbl2

    (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, phone VARCHAR) AS SELECT * FROM a_tbl;

    SELECT * FROM new_tbl2;

     

               id  phone

    ===================================

                1  '111-1111'

                2  '222-2222'

                3  '333-3333'

     

    --some of column values are replicated from a_tbl and the rest is NULL

    CREATE TABLE new_tbl3

    (id INT, name VARCHAR) AS SELECT id, phone FROM a_tbl;

    SELECT * FROM new_tbl3

     

      name                           id  phone

    =========================================================

      NULL                            1  '111-1111'

      NULL                            2  '222-2222'

      NULL                            3  '333-3333'

     

    --column alias in the select statement should be used in the column definition

    CREATE TABLE new_tbl4

    (id1 int, id2 int)AS SELECT t1.id id1, t2.id id2 FROM new_tbl1 t1, new_tbl2 t2;

    SELECT * FROM new_tbl4;

     

              id1          id2

    ==========================

                1            1

                1            2

                1            3

                2            1

                2            2

                2            3

                3            1

                3            2

                3            3

     

    --REPLACE is used on the UNIQUE column

    CREATE TABLE new_tbl5(id1 int UNIQUE) REPLACE AS SELECT * FROM new_tbl4;

    SELECT * FROM new_tbl5;

     

              id1          id2

    ==========================

                1            3

                2            3

                3            3

  • 相关阅读:
    Golang Web入门(3):如何优雅的设计中间件
    Golang Web入门(2):如何实现一个高性能的路由
    基于MySQL 的 SQL 优化总结
    Redis系列(七)Redis面试题
    Redis系列(六)Redis 的缓存穿透、缓存击穿和缓存雪崩
    Redis系列(五)发布订阅模式、主从复制和哨兵模式
    Redis系列(四)Redis配置文件和持久化
    Redis系列(三)Redis的事务和Spring Boot整合
    Redis系列(二)Redis的8种数据类型
    Redis系列(一)Redis入门
  • 原文地址:https://www.cnblogs.com/wang2650/p/5287805.html
Copyright © 2011-2022 走看看