概述
在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作为数据库管理系统,则需要了解这些基本知识,才能成功创建和管理表格。