--创建一张表
create table zhiheng(
eid number primary key ,
ename varchar2(40),
pwd varchar2(40))--创建序列
create sequence us
start with 1
increment by 1--删除序列
drop sequence us;--添加SQL语句
insert into zhiheng(eid,ename,pwd) values (us.nextval,'武松','123456')
insert into zhiheng(eid,ename,pwd) values (us.nextval,'林冲','123456')
insert into zhiheng(eid,ename,pwd) values (us.nextval,'孙二娘','123456')--查询
select * from zhiheng
--删除
delete from zhiheng where eid=4--修改
update zhiheng set ename='武二郎' where eid=2--查看当前账户下有多少张表
select * from user_tables;-------------------------------------------------------------------------------------------创建用户语法规则(使用system用户即超级管理员来创建):
create user 用户名 identified by 初始化密码 [account lock/unlock(锁定/解锁) password expire]--创建用户
create user zijin identified by 123;--给指定账户授予登录(create session)的权限:grant 权限名 to 用户名
grant create session to zijin
--修改指定账户的密码
alter user zijin identified by 123456--将指定账号锁定
alter user scott account lock;--将指定账号解锁
alter user scott account unlock;--查看所有用户
select * from all_users;--查看指定的用户是否存在:
select * from all_users where username='zijin';--查看当前连接的是哪个账号(用户)
show user;--查看当前账号的详细信息
select * from user_users;--删除指定的账号(指定账号须断开连接):drop user 用户名
drop user zijin
--连接:connection
--连接oracle数据库:conn 用户名/密码
--断开连接:disc
二、oracle权限与角色
权限(系统权限、对象权限)
--什么是权限?
--定义可以执行的操作
--系统权限(粗粒度):登录权限(create session)、创建表权限(create table)、使用表空间权限(unlimited tablespace)、查看任意表权限(select any table)等
--给指定用户授予系统权限(使用system来授权):grant 系统权限名 to 用户名 [with admin option]--在授予系统权限时,如果后面追加with admin option 时,代表此权限可以传递给其他用户
create user zijin identified by 123;
grant create session to zijin with admin option;
create user lisi identified by 123;--回收指定账户的系统权限
revoke create session from zijin;--查看指定账户下拥有哪些权限:
select * from user_sys_privs;--给账号lisi授予创建表的权限
grant create table to lisi;--给账号lisi授予表空间的权限
grant unlimited tablespace to lisi;--system账户可以查看其他账户下的表
select * from lisi.aaa;-------------------------------------------------------------------------------------------对象权限(细粒度):控制指定用户只能查看一张表,只能修改某一张表中的某个字段
--给用户授予对象权限:grant 对象权限名 on 对象名 to 用户名 [with grant option]
select * from all_users where username='MISGUO';
create user misguo identified by 123;--授予misguo三个系统权限
grant create session,create table,unlimited tablespace to misguo;--给misguo授予查看一张表的权限
grant select on scott.dept to misguo;--给misguo授予修改一张表的某一个字段的权限
grant update(dname) on scott.dept to misguo;--注:在oracle中增、删、改之后,需要提交事务:commit
--复制某一张表的数据与结构:
create table zhiheng_emp as select * from emp;
角色
--角色:一组权限的集合
--创建角色语法:create role 角色名;
create role zhiheng_role_a;--查看当前数据库下有哪些角色
select * from user_role_privs;--删除指定角色
drop role zhiheng_role_a;--给角色授权:grant 权限名 to 角色名
grant create session,create table,unlimited tablespace to zhiheng_role_a;--查询用户
select * from all_users;--删除用户:如果在删除用户时,不能够删除,则在语句后面添加cascade关键字强制删除
drop user lisi cascade;--创建一个用户
create user zhiming identified by 123;--将角色授予用户
grant zhiheng_role_a to zhiming;