oracle创建用户、表空间、授权、建表等一系列操作

开发过程中自己搭建测试数据库的次数不多,但建立新用户建新表会经常碰到,整理方便日后开发,不需要再为此花费过多时间。

1.用scott用户以sysdba的身份登录oracle
conn scott/tiger as sysdba; 
2.创建用户
create user farm identified by farm123;
3.修改用户的密码
alter user farm identified by unis;
4.查看用户所在的表空间

默认情况下用户创建好后系统会默认给该用户分配一个表空间(users)
我们可以通过下面的sql语句来查看一下所有用户所在的表空间。

select username,default_tablespace from dba_users;
5.创建表空间

一般在开发情况下,当然不会使用用户的默认表空间,所以这时需要创建一个表空间。

create tablespace farm_space
datafile 'E:\temp\oracle\tablespace\farm\farm_space.dbf' size 1000M;   

注:datafile后面是表空间的物理存储路径,文件名的后缀可以随便。
要先建立文件夹,文件不建(会报已存在)。

6.将表空间分配给用户
alter user farm default tablespace farm_space;
7.通过步骤4来查询用户所在的表空间。
8.给用户分配权限

给用户分配了表空间,用户还不能登陆(没有登录权限),因此还需要为用户分配权限

--将最高权限授权给用户farm
grant create session,create table,create view,create sequence,unlimited tablespace to farm;
grant dba to farm;
9.将A用户下的所有表的查看权限赋予给B用户

将A用户下的表A的查询、插入、更新、删除授权给用户B

grant select,insert,update,delete,all on userA.tableA to userB
SELECT 'GRANT SELECT ON A.'||OBJECT_NAME||' TO B;' 
FROM DBA_OBJECTS 
WHERE OWNER='A' AND OBJECT_TYPE='TABLE';
--例:
select 'GRANT SELECT ON xrapsys.'||object_name||' to farm;' 
from dba_objects 
where owner='farmer' and object_type='TABLE';
10.给用户分配了权限之后,用farm用户来登录
conn farm/unis;
11.查询用户所具有的权限
select * from session_privs;
12.删除用户及其相关对象
drop user farm cascade;
13.删除表空间
drop tablespace farm_space;
14.查询当前用户名下所有表

TEST为用户名,用户名必须是大写。

select * from all_tables where owner='FARMER';

具体字段操作部分

15.表字段注释修改
comment on table 表名 is '表的注释信息';
comment on column 表名.字段名 is '字段的注释信息';
16.表字段的值修改
单个字段:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
多个字段:UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERE LastName = 'Wilson'
17.已有表增加字段
alter table 表名 add (字段名称  字段类型, 字段名称  字段类型);
--已有表增加多个字段
alter table ba_key_manager add (
  create_time       DATE default sysdate,
  update_time       DATE,
  cancellation_time DATE,
  status            VARCHAR2(2) default 0
);
--添加注释
comment on column farm_user.create_time
  is '创建时间';
comment on column farm_user.update_time
  is '更新时间';
comment on column farm_user.cancellation_time
  is '注销时间';
comment on column farm_user.status
  is '数据状态(0,正常;1,已注销)';
18. 修改字段的类型或长度:
table 表名 ? modify ?(字段名称 ?(新的)字段类型);
alter table ba_branch_office modify (address number(32)); alter

注意:当此列有数据时,不能将字段的长度减小,只能增加长度。

19.修改字段的名称:
alter table 表名 rename column (旧的)字段名称 to (新的)字段名称;
alter table farm_user rename column address to new_address;
20.删除一个字段:
alter table 表名 drop column 字段名称;
alter table farm_user drop column new_address;

注意:删除字段时候,保证此字段下没有数据。

后续更新中。。。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值