Oracle数据库管理:权限设置与表操作详解

需积分: 10 3 下载量 69 浏览量 更新于2024-09-09 收藏 13KB TXT 举报
"Oracle知识点回顾主要涵盖了Oracle数据库的用户管理、权限分配、数据类型以及表的操作等核心概念,旨在帮助面试者巩固基础并顺利应对面试挑战。" 在Oracle数据库管理中,用户及其权限的设置是关键部分。创建新用户可以使用`CREATE USER`语句,如`CREATE USER 用户名 IDENTIFIED BY 密码;`。创建后,可以使用`ALTER USER`命令更改用户的密码。例如,`ALTER USER 用户名 IDENTIFIED BY 新密码;`。对于已存在的用户,我们可以赋予他们连接数据库的权限,如`GRANT CONNECT TO 用户名;`,以及创建会话的权限,如`GRANT CREATE SESSION TO 用户名;`。 资源权限的管理也非常重要。`GRANT`语句用于授予用户特定的权限,如读取(SELECT)、更新(UPDATE)、插入(INSERT)和删除(DELETE)数据的权限。例如,`GRANT SELECT ON 表名 TO 用户名;`。同时,`REVOKE`语句用于撤销这些权限。如果希望用户可以将某个权限进一步授予其他用户,可以使用`WITH GRANT OPTION`。例如,`GRANT SELECT ON 表名 TO 用户名 WITH GRANT OPTION;`。 Oracle提供了多种数据类型,包括: - `NUMBER`: 可以存储整数和小数,如`NUMBER(10,3)`表示最多10位数字,其中3位为小数。 - `CHAR`: 定长字符串,最多可存储2000个字符,但长度固定,可能导致空间浪费。 - `VARCHAR2`: 变长字符串,最大4000个字符,实际长度可变,节省空间。 - `CLOB`: 用于存储大文本数据,最大4GB。 - `BLOB`: 用于存储二进制大数据,如图片或文件,最大4GB。 表的创建与操作也是Oracle数据库的基本功能。`CREATE TABLE`语句用于创建新表,例如: ```sql CREATE TABLE 表名 ( 列名 NOT NULL PRIMARY KEY, -- 主键列,不允许为空 列名 NOT NULL CHECK(条件), -- 检查约束,不允许为空且满足条件 列名 NOT NULL UNIQUE -- 唯一列,不允许有重复值 ); ``` 对已有表的操作包括添加列(`ALTER TABLE 表名 ADD (列名 数据类型);`)、删除列(`ALTER TABLE 表名 DROP COLUMN 列名;`)、修改列属性(`ALTER TABLE 表名 MODIFY (列名 新数据类型);`)以及重命名表(`RENAME 旧表名 TO 新表名;`)。 此外,表间关系的定义也是数据库设计的关键。`ALTER TABLE`语句可以用来创建主键约束和外键约束,如: ```sql ALTER TABLE 表1 ADD CONSTRAINT 主键名 PRIMARY KEY (列名); ALTER TABLE 表2 ADD CONSTRAINT 外键名 FOREIGN KEY (列名) REFERENCES 表1 (列名) ON DELETE CASCADE; ``` 这里,`ON DELETE CASCADE`表示当表1中的记录被删除时,表2中相关的记录也会被级联删除。 数据的插入、选择、更新和删除操作是日常数据库操作的基础。例如,`INSERT INTO 表名 VALUES (值1, 值2,...);`用于插入新记录,而`SELECT * FROM 表名 WHERE 条件;`则用于根据条件查询数据。`UPDATE 表名 SET 列名 = 新值 WHERE 条件;`用于更新记录,`DELETE FROM 表名 WHERE 条件;`用于删除记录。 最后,可以使用子查询来创建新表,如`CREATE TABLE 新表 AS SELECT * FROM 原表;`复制原表的所有数据,或者`CREATE TABLE 新表 AS SELECT 列1, 列2 FROM 原表 WHERE 条件;`仅选择满足条件的部分数据。 总结,Oracle数据库的掌握需要理解用户管理、权限控制、数据类型、表操作以及SQL语句的基本使用,这些知识点是构建和维护高效数据库系统的基础。