Oracle数据库SQL操作指南:增删改查与空间管理

需积分: 9 7 下载量 7 浏览量 更新于2024-09-11 收藏 5KB TXT 举报
"Oracle数据库SQL命令大全包含了对表和表空间进行增删改查的各种操作,包括查询表空间大小、数据文件信息、回滚段信息、控制文件和日志文件成员,以及表空间的可用空间和使用情况。此外,还涉及了对象的状态统计。" 在Oracle数据库管理中,SQL命令是至关重要的工具,以下是一些关键的SQL语句及其作用: 1. 查询表空间大小:此命令用于获取所有表空间的名称及其总大小(以MB为单位)。通过`DBA_TABLESPACES`和`DBA_DATA_FILES`视图组合,可以得到每个表空间的总字节数,并转换为易于理解的MB值。 2. 查看数据文件信息:这个查询返回所有数据文件的详细信息,包括表空间名、文件ID、文件名以及文件的总大小(同样以MB为单位)。通过`ORDER BY`语句对结果按表空间名称排序。 3. 列出回滚段信息:此查询显示回滚段的名称、所在的表空间、状态以及初始和下一个扩展的大小(以KB为单位),并提供了当前扩展的数量。这有助于监控和管理事务回滚信息的存储。 4. 获取控制文件的名称:控制文件是Oracle数据库的关键组件,记录了数据库的物理结构。这个命令从`V$CONTROLFILE`动态性能视图中提取控制文件的名字。 5. 查看日志文件成员:日志文件用于记录数据库的更改,确保数据的完整性。此查询从`V$LOGFILE`视图中列出所有日志文件成员。 6. 查询表空间的自由空间:此命令计算每个表空间的总自由空间(以MB为单位),这对于规划表空间的使用和调整非常重要。同时,它还提供了空间的使用率和空闲率。 7. 对象状态统计:这个查询汇总了所有对象的所有者、对象类型、状态以及每个状态的数量。这对于了解数据库中对象的健康状况和使用情况非常有用。 以上命令涵盖了Oracle数据库管理和维护的基本需求,对于数据库管理员来说,掌握这些SQL语句能有效地管理和优化数据库性能。通过深入理解和运用这些命令,可以更有效地监控数据库资源,预防和解决潜在问题。
2018-10-08 上传
一、 概念介绍: 数据库DATABASE、表TABLE、列COLUMN、行ROW、关键字PRIMARY KEY、索引INDEX 二、 数据类型: LONG RAM:超长大型数据(照片、图形、描述等不定长数据)。 DATE:包含日期和时间。 INTEGER:有符号全长二进制整数(31位精度)。 SMALLINT:有符号半长二进制整数(15位精度)。 DECIMAL (p[,q]): 有符号的封装了的十进制小数,最多有 p 位数,并假设有 q 位在小数点右边。 如果省略 q ,则认为是 0。 FLOAT:有符号双字浮点数。 CHAR(n): 长度为 n 的定长字符串。 VARCHAR(n): 最大长度为 n 的变长字符串。 CHAR (5) 和 VARCHAR2(5)的区别是 CHAR不足5位后面自动加上空格,VARCHAR2不加 三、 列的非空属性NOT NULL: 如果一个列具有非空属性,则在给该表增加、修改数据时必须保证该列有内容,否则会出错。 如果一个列允许为空,该列可以不放任何内容,即空值(在SQL中书写为NULL),空值不是空格。 如果一个列内容为空值,则该列不等于任何值(包括空值)。 例如:列SAGE1、SAGE2的内容为空,列SAGE3内容为20,则下面的逻辑表达式全部为NULL:SAGE1=SAGE2、SAGE1SAGE2、SAGE1=SAGE3、SAGE3>SAGE1。下面的逻辑表达式全部为真:SAGE1 IS NULL、SAGE3 IS NOT NULL。下列表达式全为空:sage1+100,sage2+sage3 四、 特殊约定: 1. 所有SQL语句以分号结束不是以回车换行结束。 2. 中扩号代表选项,就是其中的内容可有可无。 3. 下面讲的列名在很多情况下也可以是表达式。 4. 表名格式:[用户名.]表名,例如:user001.student,如果不注名用户,则说明是当前登陆的用户的表。 五、 建表或视图语句CREATE 格式: CREATE TABLE 表名 (列名 类型 长度 [NOT NULL], 列名 类型 长度 [NOT NULL], 列名 类型 长度 [NOT NULL], 列名 类型 长度 [NOT NULL], 列名 类型 长度 [NOT NULL]); CREATE VIEW 视图名 AS SELECT ……; CREATE TABLE 表名 AS SELECT ……; Create table as 经常在修改一个表前备份该表,而且运行速度很快且不用提交 例如:Select table a_student as select * from student; Create table as 还可以用来复制表结构 例如:假设有三个表