root 登陆
docker exec -it oracle /bin/bash 进入docker
su - oracle
输入sqlplus /nolog
conn / as sysdba
1.用scott用户以sysdba的身份登录oracle
conn scott/tiger as sysdba;
2.创建用户
create user cps_platform identified by cps_platform ;
create user cps_profit identified by cps_profit ;
create user BOSSDB identified by cps_risk ;
create user cps_platform identified by cps_platform DEFAULT tablespace ts_cps_platform;
3.修改用户的密码
alter user sys identified by chually_2020;
4.查看用户所在的表空间
默认情况下用户创建好后系统会默认给该用户分配一个表空间(users)我们可以通过下面的sql语句来查看一下所有用户所在的表空间。
select username,default_tablespace from dba_users;
5.创建表空间
-- 当前数据库实例
show parameter instance_name
-- 查看表空间
SELECT a.tablespace_name,a.file_name,a.bytes total,b.bytes used,Round(( b.bytes / a.bytes) * 100, 2)||'%' usedrate
FROM dba_data_files a
LEFT JOIN dba_free_space b ON a.file_id = b.file_id
ORDER BY usedrate desc;
一般在开发情况下,当然不会使用用户的默认表空间,所以这时需要创建一个表空间。
注:datafile后面是表空间的物理存储路径,文件名的后缀可以随便。要先建立文件夹,文件不建(会报已存在)。
create tablespace farm_space datafile 'E:\temp\oracle\tablespace\farm\farm_space.dbf' size 100M AUTOEXTEND ON NEXT 200M;
alter database datafile '/ora/oradata/radius/undo.dbf' resize 1024m;
ALTER DATABASE DATAFILE 'c:\SmartDB01.ora' AUTOEXTEND ON;//打开自动增长
ALTER DATABASE DATAFILE 'c:\SmartDB01.ora' AUTOEXTEND ON NEXT 200M ;//每次自动增长200m
ALTER DATABASE DATAFILE 'c:\SmartDB01.ora' AUTOEXTEND ON NEXT 200M MAXSIZE 1024M;//每次自动增长200m,数据表最大不超过1G
6.将表空间分配给用户
alter user farm default tablespace farm_space;
8.给用户分配权限
给用户分配了表空间,用户还不能登陆(没有登录权限),因此还需要为用户分配权限
--将最高权限授权给用户
create user umpay identified by umpay2020;
grant create session,create table,create view,create sequence,unlimited tablespace to umpay ;
grant dba to umpay ;
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;
————————————————
版权声明:本文为CSDN博主「cyj7696」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cyj7696/java/article/details/89395066