Oracle创建表
精华
小牛编辑
178浏览
2023-03-14
在本教程中,您将学习如何使用Oracle CREATE TABLE
语句在Oracle数据库中创建一个新表。
Oracle CREATE TABLE语句简介
要在Oracle数据库中创建一个新表,可以使用CREATE TABLE
语句。下面说明了CREATE TABLE
语句的基本语法:
CREATE TABLE schema_name.table_name (
column_1 data_type column_constraint,
column_2 data_type column_constraint,
...
table_constraint
);
在上面这个语法中,
- 首先,在
CREATE TABLE
子句中,指定新表所属的表名和模式名称。 - 其次,在圆括号内列出所有列。 如果一个表有多个列,则需要用逗号分隔每个列的定义。列定义包括列名,后跟它的数据类型,例如
NUMBER
,VARCHAR2
和列约束,如NOT NULL
,主键,约束检查等。 - 第三,如果适用,例如:主键,外键,约束检查,则为表添加约束。
请注意用户权限问题,必须具有
CREATE TABLE
系统特权才能在模式中创建新表,并使用CREATE ANY TABLE
系统特权在其他用户的模式中创建新表。除此之外,新表的所有者必须具有包含新表或UNLIMITED TABLESPACE
系统特权的表空间的配额。
Oracle CREATE TABLE示例
以下示例显示如何在ot
模式中创建一个名称为persons
的新表:
-- oracle 12c写法
CREATE TABLE ot.persons(
person_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
first_name VARCHAR2(50) NOT NULL,
last_name VARCHAR2(50) NOT NULL,
PRIMARY KEY(person_id)
);
在这个例子中,persons
表有三列:person_id
,first_name
和last_name
。
person_id
是标识表中唯一行的标识列。 person_id
列的数据类型是NUMBER
。 子句GENERATED BY DEFAULT AS IDENTITY
指示 Oracle生成一个新的整数,并在列中插入新行时将其用于列。
first_name
列的数据类型为VARCHAR2
,最大长度为50
。这意味着不能在first_name
列中插入长度大于50
的字符。 另外,NOT NULL
列约束防止first_name
列具有NULL
值。
last_name
列具有与first_name
列相同的特征。
PRIMARY KEY
子句将person_id
列指定为主键列,用于标识个人表中的唯一行。
在本教程中,您已学习如何使用Oracle CREATE TABLE
语句来创建新表。