oracle用户的创建授权、角色的创建授权、创建序列以及数据的增删改查

总结:
DQL(数据查询语言)select
DML(数据操作语言)insert、updata、delete
DDL(数据定义语言)create、alter 、drop
DCL(数据控制语言)grant 、revoke
TCL(事务控制语言)SVAEPOINT、 ROLLBACK、COMMIT、GET TRANSACTION

一、创建序列以及数据的增删改查

/*注释:--
数据类型L:varchar(n)(不推荐使用这个是为了与其他数据库兼容)、
varchar2(n),nvarchar2(n),int(不推荐),number(推荐)等
区别:varchar2(2):表示一个中文字符
    nvarchar2(2):表示两个中文字符
*/

--创建一张表
create table users_messi(
    id1 number primary key,
    username varchar2(40),
    pwd VARCHAR2(40)
)

--删除序列
drop sequence us;

--实现自增
--创建序列
create sequence us
start with 1
INCREMENT by 1;

--添加sql语句
insert into users_messi values(us.nextval,'张三','123');

--查询
select * from users_messi;

--删除
delete from users_messi where id1=4;

--修改
update users_messi set username='老王' where id1 = 5;

--查看当前账户下有多少张表
--mysql show tables
select * from user_tables;

二、用户的创建授权

--查看Oracle软件里有多少用户
select * from all_users;

--创建一个账号(此操作由超级管理员(system)来完成)
create user 账号名 identified by 初始化密码 [account Lock/unlock password expire];

select* from all_users where username='messi';
create user messi identified by 123 account lock password expire;

--给用户解锁
alter user messi account unlock;

--给张三授予登录Oracle的权限
grant 权限名 to 用户名;
grant create session to messi;--messi依然没有创建表的权力只有查看的权力

--修改某一个用户的密码:
alter user messi identified by 1234;

--将某个账号锁定:
alter user messi account lock;

--删除账户
drop user 用户名;
drop user messi;

--dos命令下 disc 断开连接  conn 用户名/密码 连接

--查看当前账号详细信息
select * from user_users;

--查看当前连接的是哪个账号
show user;
-------------------------------------------
--什么是权限:定义可以执行的操作
--系统权限(粗):登录权限(create session),创建表权限(create table),创建表空间权限(unlimited tablespace),查看任意表权限(select any table)--给某个用户授予系统权限(使用system来授权):grant 权限名 to 用户【with admin option】
--注:with admin option 指的是用户可以把权限传下去给别的用户,比如messi把权限给neymar
create user messi identified by 123;
grant create session to messi with admin option;
create user neymar identified by 123;

--回收指定用户的系统权限;
revoke create session from messi;

--查看指定账户下拥哪些权限
select* from user_sys_privs;

--给账号授予创建表的权限;
grant create table to messi;
grant unlimited tablespace to messi;

--system账户可以查看其他账户下的表
--注:oracle下面的增删改都得加 commit;
select * from scott.dept;

三、角色的创建和授权

--角色
--角色:一组权限的集合
--创建角色语法
create role 角色名;
create role day12_role;

--查看当前数据库下有哪些角色
select * from user_role_privs;

--删除指定角色
drop role day12_role;

--给角色授权:grant 权限名 to 角色名
grant create session,create table,unlimited tablespace to day12_role;

--如果在删除用户时,不能够删除,则在语句后面添加cascade关键字强制删除
drop user suz cascade;

--将角色授予用户(回收revoke)
grant day12_role to suz;

-------------------------------------------------
--对表结构进行增删改查(DDL--查询指定表的结构
desc biao;

--往已经创建好的表中添加字段
alter table biao add pwd varchar2(40);

--删除指定表中的字段
alter table biao drop column pwd;

--修改指定表中指定字段的数据类型(与mysql有差异),不要修改数据类型,可以数据类型的长度
alter table biao modify(username varchar2(60));
alter table biao rename column username to uname;

--对表重命名
rename biao to biao1

四、补充(表空间的创建删除修改)

--创建表空间
create tablespace erp_data
datafile 'D:\oracledaterp_data.dbf
size 50,
autoextend on
next 50m maxsize 20480m;--每次增加的大小和最大空间

--修改表空间
语法:alter tablespace 旧名称 rename to 新名称;
alter tablespace newspace rename to myspace;

--删除表空间
--并把包含的数据和约束删除
语法:drop tablespace 表空间名【including contents and datafiles】;
drop tablespace ERP_TEMP including contents and datafiles;

--查看表空间
select * from v$tablespace;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值