标签: create-table

何时 CREATE TABLE AS SELECT 与 CREATE TABLE LIKE?

我可以使用以下命令“复制”表格:
CREATE TABLE copy LIKE original_table

CREATE TABLE copy as select * from original_table

在后一种情况下,仅复制数据,但不复制主键等。
所以我想知道什么时候我更喜欢使用select as

mysql sql database select create-table

3
推荐指数
1
解决办法
3969
查看次数

如何使用序列字段创建表 AS SELECT

此查询已经工作。

    CREATE TABLE source.road_nodes (
        node_id serial,
        node TEXT
    );

    -- SAVE UNIQUE NODES AND ASIGN ID
    INSERT INTO source.road_nodes (node)
    SELECT DISTINCT  node
    FROM
        (
            (SELECT DISTINCT node_begin AS node
            FROM map.rto)
                UNION
            (SELECT DISTINCT node_end AS node
            FROM map.rto)
        ) as node_pool; 
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法使用创建表

CREATE TABLE source.road_nodes AS SELECT ( ... )
Run Code Online (Sandbox Code Playgroud)

而不是必须创建表然后执行插入。

问题是如何创建串行列。

postgresql create-table

3
推荐指数
1
解决办法
2798
查看次数

如何使用全局二级索引创建表 dynamodb

我想User通过 dynamoDB创建表,其中包含一些由 swagger 设计的属性:

User {
   id (string, optional): UUID of User ,
   name (string, optional),
   lastLoginedAt (string, optional),
   avatar (Avatar, optional),
}

Avatar {
   avatarId (string, optional):,
   iconUri (string, optional),
   message (string, optional),
}
Run Code Online (Sandbox Code Playgroud)

并且想要User在 putItem 之后用 json 响应,如下所示:

{
"id": "string",
"name": "string",
"lastLoginedAt": "2016-06-24 15:28:26",
"avatar": {
  "avatarId": "string",
  "iconUri": "string",
  "message": "string"
},
}
Run Code Online (Sandbox Code Playgroud)

我是 Dynamodb 的初学者,但我仍然坚持创建表,这里是我的代码:

$dynamodb->createTable([
'TableName' => 'User',
'AttributeDefinitions' => [
    [ 'AttributeName' => 'id', 'AttributeType' => 'S' ], …
Run Code Online (Sandbox Code Playgroud)

php create-table amazon-dynamodb swagger

3
推荐指数
2
解决办法
3814
查看次数

在 Oracle 中使用列的默认值创建表

当我运行此查询时:

Create table ACCT_MSTR 
("Acct_no" varchar2 (10) NOT NULL PRIMARY KEY,
 "SF_no" varchar2 (10),
 "LF_no" varchar2 (10),
 "Branch_no" varchar2 (10),
 "Intro_Cust_no" varchar2 (10),
 "Intro_Acct_no" varchar2 (10),
 "Intro_sign" varchar2 (1),
 "Type" Varchar2 (2),
 "Opr_mode" varchar2 (2),
 "Cust_accut_type" varchar2 (4),
 "Title" varchar2 (30),
 "Corp_Cust_no" varchar2 (10),
 "Aplndt" Date,
 "Opendt" Date,
 "Veri_Emp_no" VARCHAR2 (10),
 "Veri_sign" varchar2 (1),
 "Manager_sign" varchar2 (1),
 "Curbal" NUMBER(8,2),
 "Status" varchar2 (1) DEFAULT (A),
CONSTRAINT Am_Bn_fk FOREIGN KEY("Branch_no") references BRANCH_MSTR ("Branch_no"),
CONSTRAINT  Am_Icn_fk FOREIGN KEY("Intro_Cust_no") references CUST_MSTR ("Cust_no"),
CONSTRAINT  Am_Ian_fk …
Run Code Online (Sandbox Code Playgroud)

sql oracle ddl syntax-error create-table

3
推荐指数
1
解决办法
7814
查看次数

在 postgresql 中将数据插入到表的用户定义类型元素中

我定义了 3 种类型如下:

CREATE TYPE EventDescriptionType AS ENUM (
 'felt report',
 'Flinn-Engdahl region',
 'local time',
 'tectonic summary',
 'nearest cities',
 'earthquake name',
 'region name'
);

CREATE TYPE ResourceReference AS (
  "resourceID" varchar(255)  
);

CREATE TYPE EventDescription AS (
 "text" text,
 "type" EventDescriptionType
);
Run Code Online (Sandbox Code Playgroud)

我还创建了一个包含上述类型元素的表格:

CREATE TABLE Event (
 "Event_id"                   serial PRIMARY KEY,
 "description"                EventDescription ARRAY
);
Run Code Online (Sandbox Code Playgroud)

然后,通过此命令将一些数据插入此表后:

insert into Event values (1,'{'L','felt report'}');
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

错误:“L”处或附近的语法错误第
1 行:插入事件值 (1,'{'L','felt report'}');

对于事件表中的元素“dexcription”,我分别将“1”作为 event_id 和“L”和“felt report”传递到数组中,分别用于 EventDescription 类型的“文本”和“类型”。

有人可以让我知道正确的方法吗?任何帮助,将不胜感激。

arrays postgresql sql-types insert create-table

3
推荐指数
1
解决办法
1547
查看次数

如何使用 Hive 使用单个 hdfs 路径创建 n 个外部表

是否可以使用 Hive 创建 n 个指向单个 hdfs 路径的外部表。如果是,有什么优点和局限性。

hive create-table external-tables hdfs hiveddl

3
推荐指数
1
解决办法
1906
查看次数

Hive-如何使用原始表中的分区“按选择创建表..”?

我需要从我们的 hive dlk 创建一个“工作表”。虽然我可以使用:

create table my_table as
select *
from dlk.big_table
Run Code Online (Sandbox Code Playgroud)

就好,我有带过的分区问题(属性daymonthyear)从原来的“BIG_TABLE”或只是创造这些属性的新的问题。在网上搜索并没有真正帮助我回答这个问题——所有的“教程”或解决方案都涉及create as select或创建分区,从来没有。这里有人可以帮忙吗?

sql hadoop hive create-table hiveql

3
推荐指数
1
解决办法
1万
查看次数

如何向此代码添加约束,其中只能输入某些字符?

完全是 mysql 的新手,但我在网上寻找解释我的问题的来源时遇到了问题。本质上,我需要向 videoCode 行添加一个约束,其中标识符是 XX## 形式的代码,其中 X 是字母,# 是数字。

任何帮助将不胜感激。

CREATE TABLE videoTable(
    videoID INT,
    channelID INT,
    videoTitle VARCHAR(255) NOT NULL,
    videoPostedDate DATE NOT NULL,
    videoTags VARCHAR(255),
    noViews INT NOT NULL,
    videoCode VARCHAR(4) NOT NULL (ADD CONSTRAINT)

    PRIMARY KEY (videoID),
    FOREIGN KEY (channelID) REFERENCES channelTable(channelID)
);

Run Code Online (Sandbox Code Playgroud)

mysql sql oracle check-constraints create-table

3
推荐指数
1
解决办法
47
查看次数

mysql - 如何在没有触发器和手动插入的情况下在插入时生成/自动增加 guid mysql?

我重新访问了我的数据库并注意到我有一些 INT 类型的主键。

这还不够独特,所以我想我会有一个指导。我来自 microsoft sql 背景,在 ssms 中,您可以选择类型为“uniqeidentifier”并自动增加它。

但是,在 mysql 中,我发现您必须为要为其生成指南 ID 的表创建在插入时执行的触发器。例子:

桌子:

CREATE TABLE `tbl_test` (
  `GUID` char(40) NOT NULL,
  `Name` varchar(50) NOT NULL,
  PRIMARY KEY (`GUID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)

扳机:

CREATE TRIGGER `t_GUID` BEFORE INSERT ON `tbl_test`
 FOR EACH ROW begin
 SET new.GUID = uuid();
Run Code Online (Sandbox Code Playgroud)

或者,您必须自己在后端插入 guid。

我不是数据库专家,但仍然记得触发器会导致性能问题。

以上是我在这里找到的东西,已经 9 岁了,所以我希望有什么改变?

mysql sql primary-key create-table uid

3
推荐指数
2
解决办法
5228
查看次数

POSTGRES - 使用 ON CONFLICT DO NOTHING 防止串行增量

这个问题的副本

说我有下表的东西。我想要表中的唯一名称,所以没有重复。插入事物的过程不需要检查具有此名称的事物是否已经存在。

CREATE TABLE things(
    id SMALLSERIAL PRIMARY KEY,
    name varchar UNIQUE
);
Run Code Online (Sandbox Code Playgroud)

当我插入这样的值时,它会起作用。如果 'desk' 已经在东西里,它就不会被插入。

INSERT INTO things (name)
VALUES ('desk')
ON CONFLICT DO NOTHING;
Run Code Online (Sandbox Code Playgroud)

唯一的问题是 ON CONFLICT DO NOTHING 并不是真的什么都不做。它仍然增加 id 字段的序列。

如果这种情况发生得太频繁,那么 id 序列最终会变得对于字段类型来说太大。

有没有办法防止这种情况发生?

sql postgresql create-table auto-increment sql-insert

3
推荐指数
1
解决办法
316
查看次数