暂无图片
暂无图片
8
暂无图片
暂无图片
暂无图片

数据库对象管理MySQL模式创建表

2023-03-25
277

您可以使用 CREATE TABLE 语句来创建表。

本节主要介绍非分区表的创建,分区表的创建及使用请参见 创建分区表 。

创建非分区表

创建非分区表是指创建只有一个分区的表。

创建非分区表的示例语句如下:

obclient>CREATE TABLE table_name1(w_id int,
w_ytd decimal(12,2),
w_tax decimal(4,4),
w_name varchar(10),
w_street_1 varchar(20),
w_street_2 varchar(20),
w_city varchar(20),
w_state char(2),
w_zip char(9),
unique(w_name, w_city),
primary key(w_id)
);

Query OK, 0 rows affected (0.09 sec)

obclient>CREATE TABLE table_name2 (c_w_id int NOT NULL,
c_d_id int NOT null,
c_id int NOT null,
c_discount decimal(4, 4),
c_credit char(2),
c_last varchar(16),
c_first varchar(16),
c_middle char(2),
c_balance decimal(12, 2),
c_ytd_payment decimal(12, 2),
c_payment_cnt int,
c_credit_lim decimal(12, 2),
c_street_1 varchar(20),
c_street_2 varchar(20),
c_city varchar(20),
c_state char(2),
c_zip char(9),
c_phone char(16),
c_since date,
c_delivery_cnt int,
c_data varchar(500),
index icust(c_last, c_d_id, c_w_id, c_first, c_id),
FOREIGN KEY (c_w_id) REFERENCES table_name1(w_id),
primary key (c_w_id, c_d_id, c_id)
);

Query OK, 0 rows affected (0.10 sec)
复制

示例中创建了 2 个表,并同时对表中的列定义了一些约束信息,包括在不同列上创建的主键和外键等。更多主键、外键等的介绍,请参见 定义列的约束类型 。

创建表的列时请选择正确的数据类型,有关 SQL 数据类型的详细描述,请参见 数据类型

说明

基于性能和后期维护的需要,建议建表时为表设计主键或者唯一键。如果没有合适的字段作为主键,可以为表增加一个数值列作为主键,并使用 Oracle 租户的序列为该列填充值。有关序列的介绍请参见 管理序列

复制已有表的数据创建新表

通过 CREATE TABLE AS SELECT 语句复制表的基本数据类型和数据,但不包含约束、索引和非空等属性。

示例语句如下:

obclient>CREATE TABLE t2_copy AS SELECT * FROM t2;
Query OK, 0 rows affected (0.10 sec)
复制

不支持使用 CREATE TABLE LIKE 语句复制表结构。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论