Oracle建表语句是什么

概述

在Oracle中,建立表格是创建数据库的重要部分之一。建立表格需要使用SQL语句,通过执行SQL语句,我们可以在Oracle数据库中创建表格、列、主键和其他相关的约束。Oracle是一种完整的数据库管理系统,支持各种数据类型、索引、视图、存储过程、函数和触发器。

在这篇文章中,我们将介绍Oracle建立表格语句的基本知识,包括如何定义列、设置约束和索引等。让我们开始吧!

创建表格

在Oracle中,创建表格使用的语句是CREATE TABLE,它的基本语法如下:

CREATE TABLE table_name (

column1 datatype [ NULL | NOT NULL ],

column2 datatype [ NULL | NOT NULL ],

...

columnn datatype [ NULL | NOT NULL ],

[ CONSTRAINT constraint_name PRIMARY KEY (column_name_1, column_name_2, ... column_name_n) ]

);

其中,table_name是要创建的表格的名称,column1、column2、columnn是表格中的列名,datatype是列的数据类型。

除了列信息外,还可以在表格建立语句中添加其他信息,例如设置主键、外键、索引、约束、默认值和列的属性等。以下是一些常用的关键词:

PRIMARY KEY:设置主键

FOREIGN KEY:设置外键

UNIQUE:设置唯一性

CHECK:设置检查约束

DEFAULT:设置默认值

NOT NULL:设置非空

NULL:设置为空

定义列

在Oracle中,每个列都必须定义数据类型和长度。以下是一些可用的数据类型:

CHAR:定长字符串

VARCHAR2:变长字符串

NUMBER:数字

DATE:日期

BLOB:二进制大对象

CLOB:字符大对象

以下是定义几个列的示例:

CREATE TABLE employees (

id NUMBER(6),

name VARCHAR2(50),

hiredate DATE

);

在这个例子中,我们定义了一个employees表格,它有三个列:id、name和hiredate。

设置约束

在Oracle中,可以使用约束来保护数据的完整性和一致性。以下是一些可用的约束类型:

NOT NULL:设置非空

UNIQUE:设置唯一性

PRIMARY KEY:设置主键

FOREIGN KEY:设置外键

CHECK:设置检查约束

以下是一个设置约束的例子:

CREATE TABLE customers (

id NUMBER(6),

name VARCHAR2(50),

address VARCHAR2(100),

zipcode CHAR(5),

CONSTRAINT pk_customers PRIMARY KEY (id),

CONSTRAINT uc_customers UNIQUE (name, address, zipcode),

CONSTRAINT ck_customers_zipcode CHECK (regexp_like(zipcode, '^[0-9]{5}$')),

CONSTRAINT fk_customers_orders FOREIGN KEY (id) REFERENCES orders(id)

);

在这个例子中,我们定义了一个customers表格,它包含四个列:id、name、address和zipcode。同时还设置了四个约束:主键、唯一性、检查约束和外键。

NOT NULL约束

NOT NULL约束用于使列不允许NULL值。以下是在创建表格时设置NOT NULL约束的例子:

CREATE TABLE employees (

id NUMBER(6) NOT NULL,

name VARCHAR2(50) NOT NULL,

hiredate DATE NOT NULL

);

在这个例子中,我们设置了id、name和hiredate列的NOT NULL约束。

UNIQUE约束

UNIQUE约束用于确保列中的值是唯一的。以下是在创建表格时设置UNIQUE约束的例子:

CREATE TABLE customers (

id NUMBER(6) UNIQUE,

name VARCHAR2(50),

address VARCHAR2(100),

zipcode CHAR(5),

);

在这个例子中,我们设置了id列的UNIQUE约束。

PRIMARY KEY约束

PRIMARY KEY约束用于定义表格中的主键列。主键列的值必须是唯一的,没有重复值,并且不能为NULL。以下是在创建表格时设置PRIMARY KEY约束的例子:

CREATE TABLE customers (

id NUMBER(6),

name VARCHAR2(50),

address VARCHAR2(100),

zipcode CHAR(5),

CONSTRAINT pk_customers PRIMARY KEY (id)

);

在这个例子中,我们设置了id列为主键。

FOREIGN KEY约束

FOREIGN KEY约束用于定义表格中的外键列。外键列用来与其他表格的主键列建立关系。以下是在创建表格时设置FOREIGN KEY约束的例子:

CREATE TABLE orders (

id NUMBER(6),

customer NUMBER(6),

CONSTRAINT pk_orders PRIMARY KEY (id),

CONSTRAINT fk_orders_customers FOREIGN KEY (customer) REFERENCES customers(id)

);

在这个例子中,我们设置了orders表格的customer列为外键,该列在customers表格中的id列上建立关系。

CHECK约束

CHECK约束用于在列上定义一个条件,该条件必须为真。以下是在创建表格时设置CHECK约束的例子:

CREATE TABLE customers (

id NUMBER(6),

name VARCHAR2(50),

address VARCHAR2(100),

zipcode CHAR(5),

CONSTRAINT ck_customers_zipcode CHECK (regexp_like(zipcode, '^[0-9]{5}$'))

);

在这个例子中,我们设置了一个检查约束,该约束确保zipcode列的值是5个数字字符。如果zipcode列不满足该条件,就会引发错误。

设置索引

在Oracle中,索引用于提高数据库的查询速度。它们可用于加速某些列或多个列的查询,例如WHERE子句中使用的列。以下是在创建表格时设置索引的例子:

CREATE TABLE employees (

id NUMBER(6),

name VARCHAR2(50),

hiredate DATE,

CONSTRAINT pk_employees PRIMARY KEY (id),

CONSTRAINT ix_employees_name UNIQUE (name)

);

在这个例子中,我们为employees表格的id列设置了主键约束,并为name列设置了唯一性索引。

总结

在Oracle中创建表格需要使用SQL语句,关键词包括列名、数据类型、约束、索引等。本文介绍了如何定义列、设置约束和索引,并提供了一些示例来演示这些技术。如果您要使用Oracle作为数据库管理系统,则需要了解这些基本知识,才能成功创建和管理表格。

数据库标签