Oracle中不同用户如何建立表(oracle不同用户建表)
Oracle中不同用户如何建立表
在Oracle数据库中,不同用户可以拥有自己的独立数据库账户,并且可以创建自己的表。本文将介绍如何在Oracle中为不同用户创建表。
1. 创建用户
在开始创建表之前,需要先创建新用户并授权相应的权限。可以通过以下语句创建新用户:
CREATE USER username IDENTIFIED BY password;
其中,`username`为新用户的用户名,`password`为新用户的密码。
2. 授权
从默认情况下,新创建的用户无法访问其他用户的表和视图。需要授予用户相关权限。通过以下语句授予权限:
GRANT privilege ON object TO user;
其中,`privilege`可以指定不同的权限,如`SELECT`、`INSERT`、`UPDATE`、`DELETE`等。`object`为要授权的对象,可以是表、视图等。`user`为被授权的用户。
例如,以下语句授予用户`newuser`访问表`oldtable`的`SELECT`权限:
GRANT SELECT ON oldtable TO newuser;
3. 建立表
建立表时需要指定该表所属的用户。可以通过以下语句在用户上下文中建立表:
CREATE TABLE username.tablename(
column1 datatype1 [ NULL | NOT NULL ], column2 datatype2 [ NULL | NOT NULL ],
...);
其中,`username`为该表所属的用户,`tablename`为表名。`column`为列名,`datatype`为数据类型。`NULL`或`NOT NULL`指定该列是否允许为空。
例如,以下语句在用户`newuser`的上下文中创建表`newtable`:
CREATE TABLE newuser.newtable(
id NUMBER(10) NOT NULL, name VARCHAR2(50) NOT NULL,
age NUMBER(3), PRIMARY KEY (id)
);
在上述示例中,我们创建了一个名为`newtable`的新表,此表包含三列:`id`,`name`和`age`。其中,`id`和`name`都是`NOT NULL`列,`age`允许为空。`PRIMARY KEY`指定`id`为主键。
通过以上步骤,就可以为不同的用户在Oracle数据库中创建表。在实际应用中,需要根据具体需求进行授权和表设计。