Oracle数据库创建表的完整指南

需积分: 13 0 下载量 182 浏览量 更新于2024-08-15 收藏 1.83MB PPT 举报
"Oracle数据库创建表的语法格式及相关数据类型" 在Oracle数据库中,创建表是数据存储的基础,其语法格式如下: ```sql CREATE TABLE [schema.] table_name ( column_name datatype [DEFAULT expression] [column_constraint][,…n] <table_constraint>[,…n] ) [TABLESPACE tablespace_name] [AS subquery] ``` 这里,`schema` 是可选的,用于指定表所属的模式,`table_name` 是你要创建的表的名称。`column_name` 是表中的列名,`datatype` 指定列的数据类型。`DEFAULT expression` 可以设置默认值,`column_constraint` 和 `table_constraint` 分别定义列级和表级的约束条件,如非空(NOT NULL)、唯一(UNIQUE)、主键(PRIMARY KEY)、外键(FOREIGN KEY)等。`TABLESPACE tablespace_name` 用于指定表存储的位置,即表空间。`AS subquery` 用于根据子查询创建表,即创建一张与子查询结果结构相同的表。 Oracle数据库支持多种数据类型,包括: 1. **字符型**: - `CHAR`:固定长度,最大2000个字符,浪费空间但查询速度快。 - `VARCHAR2`:可变长度,最大4000个字符,节省空间。 - `CLOB`:字符型大对象,最大4GB,用于存储大量文本数据。 2. **数字型**: - `NUMBER`:可以表示整数或小数,如 `NUMBER(5,2)` 表示5位有效数字,其中2位为小数。 3. **日期类型**: - `DATE`:包含年月日和时分秒,如 `birthday DATE`。 - `TIMESTAMP`:Oracle 9i新增,精度可达毫秒。 4. **图片和其他二进制数据**: - `BLOB`:二进制大对象,可存放4GB的图片、音频等数据。但在实际项目中,通常只存储文件路径,或在安全性需求较高的情况下直接存入数据库。 以下是一个创建名为 `student` 的表的例子: ```sql CREATE TABLE student ( xh NUMBER(4), -- 学号 xm VARCHAR2(20), -- 姓名 sex CHAR(2), -- 性别 birthday DATE, -- 出生日期 sal NUMBER(7,2) -- 奖学金 ) TABLESPACE 表空间名称; -- 替换为实际的表空间名 ``` 这个表包含了学号、姓名、性别、出生日期和奖学金五个字段,每个字段都指定了相应数据类型。注意,表名和列名应遵循Oracle的命名规则,以字母开头,长度不超过30个字符,避免使用保留字,并且只能使用特定的字符集。