### Oracle常用的SQL语法和数据对象 #### 数据控制语句(DML) **1. INSERT (往数据表里插入记录的语句)** - **基本格式**: - `INSERT INTO 表名 (字段名1, 字段名2, ……) VALUES (值1, 值2, ……);` - 字符串类型的字段值必须用单引号括起来,如 `'GOOD DAY'`。 - 如果字段值包含单引号,需要进行字符串转义处理,通常将其替换成两个单引号 `' '`。 - 字符串类型的字段值若超出定义长度会导致错误,建议在插入前进行长度检查。 - `INSERT INTO 表名 (字段名1, 字段名2, ……) SELECT 字段名1, 字段名2, …… FROM 另外的表名;` - 用于从一个表复制数据到另一个表。 - **日期字段**: - 可以使用当前数据库的系统时间 `SYSDATE`,精确到秒。 - 或者使用字符串转换成日期型函数 `TO_DATE('2001-08-01', 'YYYY-MM-DD')`。 - `TO_DATE()` 支持多种日期格式,具体可参考 Oracle 文档。 - **字符串长度限制**: - 插入的最大字符串长度不超过4000个单字节。 - 对于更长的字符串,考虑使用 CLOB 类型,并利用 Oracle 内置的 `DBMS_LOB` 包进行操作。 - **自动增长序列号**: - 创建序列号: - `CREATE SEQUENCE 序列号名称 [表名+序列号标记] INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;` - 最大值应根据字段长度确定,例如 NUMBER(6) 的最大值为 999999。 - 在 `INSERT` 语句中使用序列号:`序列号名称.NEXTVAL` **2. DELETE (删除数据表里记录的语句)** - **基本格式**: - `DELETE FROM 表名 WHERE 条件;` - 注意:删除记录不会释放 Oracle 中被占用的数据块表空间,仅将数据块标记为未使用。 - 若要彻底删除一个表中的所有记录并释放所占空间,可以使用 `TRUNCATE TABLE 表名;`,但该操作无法撤销。 **3. UPDATE (修改数据表里记录的语句)** - **基本格式**: - `UPDATE 表名 SET 字段名1 = 值1, 字段名2 = 值2, …… WHERE 条件;` - 如果修改的值未指定,则原来的记录会被设为 NULL,因此在更新前最好进行非空检查。 - 更新的值超出字段长度限制也会导致错误,同样应在更新前进行长度验证。 - **注意事项**: - 上述 SQL 语句都会对表施加行级锁,确保操作完成后通过 `COMMIT` 命令正式生效;否则更改可能不会写入数据库。 - 若希望撤销操作,可以使用 `ROLLBACK` 命令恢复。 - 在执行 `INSERT`, `DELETE`, `UPDATE` 之前,最好估算可能涉及的记录数量,并将其限定在一个较小范围内(建议不超过一万条记录)。 #### 数据定义语句(DDL) **1. CREATE (创建表、索引、视图等)** - **常用字段类型**: - `CHAR`:固定长度的字符串。 - `VARCHAR2`:可变长度的字符串。 - `NUMBER(M,N)`:数字型,其中 M 代表位数总长度,N 代表小数长度。 - `DATE`:日期类型。 - **创建表时的注意事项**: - 将较短且不允许为空的字段放在前面,可能为空的字段放在后面。 - 可以使用中文字段名,但推荐使用英文字段名以避免潜在问题。 - 可以为字段设置默认值,例如 `DEFAULT SYSDATE`,以便在插入或更新时不需显式设置即可获得当前时间。 - 可以为字段添加约束条件,如 `UNIQUE` 和 `PRIMARY KEY`。 **2. ALTER (改变表、索引、视图等)** - **基本格式**: - 改变表名:`ALTER TABLE 表名 RENAME TO 新表名;` - 添加字段:`ALTER TABLE 表名 ADD 字段名 字段描述;` - 修改字段定义:`ALTER TABLE 表名 MODIFY 字段名 字段描述;` - 添加约束条件:`ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY (字段名);` - 控制表是否存储在内存区:`ALTER TABLE 表名 CACHE;` 或 `ALTER TABLE 表名 NOCACHE;` **3. DROP (删除表、索引、视图等)** - **基本格式**: - 删除表及其所有约束:`DROP TABLE 表名 CASCADE CONSTRAINTS;` **4. TRUNCATE (清空表中的所有记录,保留表结构)** - **基本格式**: - `TRUNCATE TABLE 表名;` #### 查询语句(SELECT) - **基本格式**: - `SELECT 字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE 条件;` - 字段名可以与函数一起使用,如 `COUNT(*)`, `MIN(字段名)` 等。 以上内容概述了 Oracle 数据库中常用的 SQL 语法和数据对象管理方法,涵盖了数据插入、更新、删除、查询以及表结构的创建与维护等方面的基础操作。通过掌握这些基础知识,用户能够有效地管理和操作 Oracle 数据库中的数据。
- 粉丝: 1
- 资源: 50
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
- (源码)基于SSM框架的大学消息通知系统服务端.zip
- (源码)基于Java Servlet的学生信息管理系统.zip
- (源码)基于Qt和AVR的FestosMechatronics系统终端.zip