Oracle SQL基础教程:创建与修改表

需积分: 9 1 下载量 85 浏览量 更新于2024-09-09 收藏 150KB DOC 举报
"ORACLE常用基本SQL语句包括创建和管理数据库对象,如表、索引、约束和注释,以及进行数据操作的命令。这些是数据库管理员和开发人员日常工作中不可或缺的部分。" 在ORACLE数据库系统中,SQL(结构化查询语言)是用于管理和操作数据的主要工具。以下是一些基本的SQL语句,适用于ORACLE: 1. 创建表:`CREATE TABLE` 语句用于创建新的表。例如: ``` CREATE TABLE TAB_NAME ( COL_01 VARCHAR2(10) NOT NULL, COL_02 NUMBER(8,2), COL_03 DATE ); ``` 这里,`TAB_NAME` 是表名,`COL_01`、`COL_02` 和 `COL_03` 是列名,`VARCHAR2`、`NUMBER` 和 `DATE` 是数据类型。 2. 添加主键约束:`ALTER TABLE` 语句配合 `ADD CONSTRAINT` 可以定义主键,确保表中的每行都有唯一的标识。例如: ``` ALTER TABLE TAB_NAME ADD CONSTRAINT PK_COL_01 PRIMARY KEY (COL_01); ``` 主键 `PK_COL_01` 由列 `COL_01` 组成。 3. 添加唯一性约束:同样使用 `ALTER TABLE` 与 `ADD CONSTRAINT` 添加唯一性约束,确保特定列的值不重复。如: ``` ALTER TABLE TAB_NAME ADD CONSTRAINT UK_COL_02 UNIQUE (COL_02); ``` 4. 添加外键约束:外键约束关联了两个表,确保引用完整性。如: ``` ALTER TABLE TAB_NAME ADD CONSTRAINT FK_COL_03 FOREIGN KEY (COL_03) REFERENCES TAB_2 (COL_03); ``` 列 `COL_03` 引用 `TAB_2` 表的 `COL_03`。 5. 添加check约束:`ALTER TABLE` 加上 `ADD CONSTRAINT` 和 `CHECK` 可以限制列的值。例如: ``` ALTER TABLE TAB_NAME ADD CONSTRAINT CHK_COL_03 CHECK (COL_01 <> 'ABC'); ``` 确保 `COL_01` 的值不能是 'ABC'。 6. 创建索引:索引加速查询速度。创建唯一索引: ``` CREATE UNIQUE INDEX IDX_NAME ON TAB_NAME (COL_01); ``` 创建非唯一索引: ``` CREATE INDEX IDX_NAME ON TAB_NAME (COL_01); ``` 7. 添加新列:使用 `ALTER TABLE` 添加新的列: ``` ALTER TABLE TAB_NAME ADD COL_04 VARCHAR2(10); ``` 8. 修改列的数据类型:`ALTER TABLE MODIFY` 用于改变列的数据类型: ``` ALTER TABLE TAB_NAME MODIFY COL_04 NUMBER(8); ``` 9. 删除列:`ALTER TABLE DROP COLUMN` 用于从表中移除列: ``` ALTER TABLE TAB_NAME DROP COLUMN COL_04; ``` 10. 更改表名:`ALTER TABLE RENAME TO` 更改表的名称: ``` ALTER TABLE TAB_NAME RENAME TO TAB_NEW_NAME; ``` 11. 更改列名:使用 `ALTER TABLE RENAME COLUMN` 改变列名: ``` ALTER TABLE TAB_NAME RENAME COLUMN COL_04 TO COL_05; ``` 12. 添加注释:`COMMENT ON` 语句用于为表和列添加描述性注释: ``` -- 给表添加注释 COMMENT ON TABLE TAB_NAME IS '示例表'; -- 给列添加注释 COMMENT ON COLUMN TAB_NAME.COL_01 IS '列名'; ``` 13. 删除表:`DROP TABLE` 删除整个表及其所有约束和索引: ``` DROP TABLE TAB_NAME; ``` 14. MERGE:`MERGE INTO` 语句用于根据特定条件合并数据到一个目标表,结合 `USING` 来指定源表: ``` MERGE INTO tj_test1 tt1 USING tj_test tt ON (tt1.id = tt.id) WHEN MATCHED THEN ... WHEN NOT MATCHED THEN ... ``` 这里 `WHEN MATCHED` 和 `WHEN NOT MATCHED` 分别处理匹配和不匹配的行。 掌握这些基本的SQL语句是理解和操作ORACLE数据库的关键,它们能帮助你创建、维护和优化数据存储,同时提高数据访问效率。在实际应用中,还会涉及到更复杂的查询、视图、存储过程、触发器等,这些都是ORACLE数据库管理的重要组成部分。