Oracle数据库基础学习10-创建表

本文介绍了Oracle数据库中创建表的基础知识,包括使用CREATE TABLE语句的语法结构,如指定表名、列名、数据类型及约束。提到了列属性如NOT NULL、UNIQUE和DEFAULT,并举例展示了创建一个发票表INVOICE的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建标准表

创建表使用 create table 语句,它属于 DDL 数据定义语言。其语法如下

CREATE TABLE [schema_name.]table_name
(
	column_name_1 data_type [column_attributes]
	[,column_name_2 data_type [column_attributes]]...
	[,table_level_constraints]
)
  • schema_name:指定表所在的方案名称,如果是在当前登录用户下创建表,则不用指定该名称
  • table_name:指定表名称
  • column_name_x:指定表列的名称
  • data_type:指定表列的数据类型
  • column_attributes:指定表列的属性,比如 NOT NULL 约束和 DEFAULT 默认值等
  • table_level_constraints:指定表级别的约束定义

实际上,创建一个完整表的SQL语句要远比上面列出的语法复杂,当使用这个简单 CREATE TABLE 语句创建表时,Oracle实际上已经根据系统的设置添加了各种存储和设置参数。可以通过 DBMS_METADATA.GET_DDL 方法查看已经创建表的DDL语句(一般在当前用户下查询当前用户下的表)

 除了指定列的类型之外,可选的 column_attributes 用来指定列的属性,常用的列特性有如下3个:

  • NOT NULL :指定列不接受 NULL 值
  • UNIQUE :指定存储在列中的每一个值都必须唯一
  • DEFAULT default_value :指定列的默认值

这些类型主要用来为列指定约束,例如下面的代码使用 CREATE TABLE 语句创建了一个发票表 INVOICE

CREATE TABLE INVOICE
(
	INVOICE_ID NUMBER NOT NULL UNIQUE,  --自动编号,唯一,不为空
	VENDOR_ID NUMBER NOT NULL,  --供应商ID
	INVOICE_NUMBER VARCHAR2(50) NOT NULL,  --发票编号
	INVOICE_DATE DATE DEFAULT SYSDATE,  --发票日期
	INVOICE_TOTAL NUMBER(9,2) NOT NULL,  --发票总数
	PAYMENT_TOTAL NUMBER(9,2) DEFAULT 0  --付款总数
)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值