oracle基本用法

创建和删除用户,赋予和撤销权限

-- 创建用户  
create user 用户名 identified by 指令(密码) 
-- 如果提示公共用户名无效,失败。那就再用户名前加一个c##
create user c##用户名 identified by 指令(密码)
-- 赋予权限
grant connect, resource to 用户名

-- 删除用户
drop user 用户名
-- 若用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户。
drop user 用户名 cascade;
-- 撤销权限
revoke connect, resource from 用户名

创建表

-- 创建数据库,一定记住写最后一个字段的时候不再需要加 , 这个小点点。不然会报错
create table person(
  id number primary key not null,
  name varchar(20) not null,
  sex varchar(4) not null,
  age Integer not null
)

插入数据

-- 插入数据
insert all into person values(001,'张三','男',18)
into person values(002,'苍老师','女',28)
-- 这里的dual 是虚拟表
into person values(003,'卢本伟','男',26) select 1 from dual;

查询数据

--查询数据
-- 查询数据
select * from person
-- 根据性别查询
select * from person where sex = '女'
-- 根据姓名查询
select * from person where name = '苍老师'

删除数据

-- 删除数据
delete person where name = '苍老师'

修改数据

-- 修改数据
update person set name = '卢老爷' where name = '卢本伟'

两表联合查询

-- 创建外键约束的表
create table word(
-- 这个字段类型必须和person表中id的字段类型一样
  zhiye_id number not null,
  task varchar(50) not null
  -- 这句话标识添加外键约束主键为person的id
)

-- 给表二插入数据
insert all into word values(001,'打酱油')
into word values(002,'未知')
-- 这里的dual 是虚拟表
into word values(003,'斗地主')select 1 from dual;

-- 给表二的zhiye_id的字段添加外键约束
alter table word
add constraint fk_zhiyeid foreign key(zhiye_id) references person(id);

-- 查询卢本伟的职业
select a.name,b.task
from person a inner join word b
on a.id = b.zhiye_id
where a.name = '卢本伟'

在这里插入图片描述

group by分组查询

-- 分组查询 group by 查询斗地主人数
-- 添加一个PDD,一个大司马
insert all into person values(004,'PDD','男',28)
into person values(005,'大司马','男',30) select 1 from dual;
-- PDD,大司马加入斗地主
insert all into word values(004,'斗地主')
into word values(005,'斗地主')select 1 from dual;

select b.task,count(b.task) as 人数
from person a inner join word b
on a.id = b.zhiye_id
where b.task = '斗地主'
group by b.task

升序,降序查询

-- 根据id升序查询
select *from person 
order by id asc
-- 根据id降序查询
select * from person
order by id desc

索引的创建与删除

-- 一个表中创建主键时,这个字段会默认生成索引
-- 创建索引,用于查询时提高速度
create index index_id on person(name)
-- 删除索引
drop index index_id

创建视图(view)

-- 视图:可以理解为java的封装。将一堆代码封装起来。取个名。方便查询
-- 创建视图 view 斗地主的视图
create view ddz_person
as 
select a.name,b.task
from person a inner join word b
on a.id = b.zhiye_id
where b.task = '斗地主'
-- 调用视图
select * from ddz_person

escape 转义处理的用法

-- escape的用法,转义处理
-- 添加一条名为张_峰的数据
insert into person values(006,'张_峰','男',18)
-- 查询张_开头的用户
-- 它会将张三也输出。因为语句中的_被当作了占位符。
select * from person where name like '张_%' 
-- 加上escape转义符后,_将不再为占位符
select * from person where name like '张\_%' escape '\'
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值