使用SQL语句创建表
数据类型
数据类型 说明
CHAR [ ( length [ BYTE |CHAR ] ) ] 固定长度的字符数据。表示长度为length个字节或字符。BYTE表示按字节个数定义长度;CHAR表示按字符个数定义长度
VARCHAR2 ( length [ BYTE |CHAR ] ) 可变长度的字符数据。表示长度最多可为length个字节或字符。最大长度可为4000字节
NCHAR [ ( length ) ] 固定长度的Unicode字符数据。最大长度为4000字节
NVARCHAR2 ( length ) 可变长度的字符数据。表示长度为length个字符
NUMBER [ ( precision [ , scale ] ) ] 可变长度的数字。precision是数字可用的最大位数(如果有小数点的话,是小数点前后位数之
和NUMERIC [ ( precision [ , scale ] ) ] 和),最大可为38;scale则表示小数点右边的最大位数。如果不指定precision和scale,则表示
为小数点前后共38位的数字
INT、INTEGER和SMALLINT NUMBER的子类型。38位精度的整数
BINARY_FLOAT 32位浮点数
BINARY_DOUBLE 64位浮点数
DATE 日期和时间。包括世纪、4位年份、月、日、时(24小时格式)、分和秒。可以存储公元前4712年1月1日和公元后4712年12月31日 之间的日期和时间
TIMESTAMP [ ( seconds_precision ) ] 日期和时间。包括世纪、4位年份、月、日、时(24小时格式)、分和秒
CLOB 可变长度的单字节字符数据。最多存储128TB
NCLOB 可变长度的Unicode字符数据。最多存储128TB
BLOB 可变长度的二进制数据。最多存储128TB
BFILE 指向外部文件的指针。外部文件本身不存储在数据库中
创建表需要使用CREATE TABLE语句,其语法如下:
CREATE TABLE [ schema. ] table_name(
column_name data_type [ DEFAULT expression ]
[ [ CONSTRAINT constraint_name ] constraint_def ]
[ , … ]
)[ TABLESPACE tablespace_name ];
schema 指定表所属的用户名,或者所属的用户模式名称。
table_name 创建的表的名称。
column_name 表中的列的名称,可以有多个列,多个列之间使用逗号(,)隔开。同一个表中的列的名称必须惟一。
data_type 列的数据类型。
DEFAULT expression 列的默认值。如果在向表中添加数据时,没有指定该列的数据,则该列将使用默认值。
CONSTRAINT constraint_name 为约束命名。如果不使用此子句,Oracle将自动为约束建立默认的名称。如果是创建表级约束,则必须使用此子句为约束命名。
constraint_def 为列指定约束。例如非空约束、惟一约束等。
TABLESPACE tablespace_name 可以为表指定存储表空间。如果不使用此子句,则使用默认表空间存储新表。