Oracle 创建表SQL

在Oracle数据库中,创建表是数据库设计的一个重要环节。通过创建表,我们可以定义数据表的结构,包括表的列名、数据类型、约束等信息。本文将详细介绍如何使用SQL语句在Oracle数据库中创建表。
创建表的基本语法
在Oracle数据库中,创建表的基本语法如下所示:
CREATE TABLE table_name
(
column1 datatype [constraint],
column2 datatype [constraint],
...
);
其中,table_name是要创建的表的名称,column1、column2等是表的列名,datatype是对应列的数据类型,constraint表示对列的约束。
接下来,我们将用一个示例来演示如何在Oracle数据库中创建一个名为employees的表,包含id、name和salary三个列。
CREATE TABLE employees
(
id NUMBER PRIMARY KEY,
name VARCHAR2(50),
salary NUMBER
);
在上面的示例中,我们使用CREATE TABLE语句创建了一个名为employees的表,包含了三个列:id、name和salary。id列使用NUMBER数据类型,并设置为主键约束;name列使用VARCHAR2(50)数据类型;salary列使用NUMBER数据类型。
列的约束
在创建表时,我们可以对列进行一些约束,以确保数据的完整性和一致性。下面是一些常用的列约束:
PRIMARY KEY:设置列为主键,确保列的值是唯一的且不为空。NOT NULL:确保列的值不为空。UNIQUE:确保列的值是唯一的。CHECK:定义列的取值范围。FOREIGN KEY:设置列为外键,与其他表的列关联。
下面是一个包含列约束的示例:
CREATE TABLE employees
(
id NUMBER PRIMARY KEY,
name VARCHAR2(50) NOT NULL,
salary NUMBER CHECK (salary >= 0)
);
示例代码
接下来,我们将通过一个完整的示例来演示如何在Oracle数据库中创建一个包含列约束的表。
-- 创建表
CREATE TABLE employees
(
id NUMBER PRIMARY KEY,
name VARCHAR2(50) NOT NULL,
salary NUMBER CHECK (salary >= 0)
);
-- 插入数据
INSERT INTO employees (id, name, salary)
VALUES (1, 'Alice', 5000);
INSERT INTO employees (id, name, salary)
VALUES (2, 'Bob', 6000);
-- 查询数据
SELECT * FROM employees;
以上代码中,我们首先创建了一个名为employees的表,包含了三个列:id、name和salary,并对name列设置了NOT NULL约束,对salary列设置了CHECK约束。然后,我们插入了两条数据,并通过查询语句查看了表中的所有数据。
结果展示
下面是以上示例代码的运行结果:
ID | NAME | SALARY
--------------------
1 | Alice | 5000
2 | Bob | 6000
通过以上示例,我们可以看到在Oracle数据库中创建表的基本语法和一些常用的列约束。希朝本文可以帮助读者更好地理解如何在Oracle数据库中创建表。
极客笔记