在本教程中,您将学习如何使用Oracle CREATE TABLE
语句在Oracle数据库中创建一个新表。
要在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
系统特权的表空间的配额。
以下示例显示如何在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
语句来创建新表。