Oracle_20200416
PLSQL 新建普通用户
1、使用system登录
2、File-->NEW-->SQL WINDOW
3、执行语句
--创建用户
--create user 用户名 identified by 密码
create user scott identified by luckily
--给用户赋予权限
--赋予数据库登录链接权限
grant connect to scott;
--赋予资源操作权限
grant resource to scott;
Oracle忘记用户密码
1、cmd打开windows命令窗口
2、输入命令:sqlplus /nolog
3、输入命令:conn /as sysdba
4、输入命令:alter user 要修改的用户名 identified by 新的密码;
--单表查询
select *from emp
--查询表中某个特定字段
select empno from emp
select empno,job from emp
--给查询结果中的字段使用别名,as可省略
select empno 员工编号,job as 工作, ename as "员工姓名" from emp
--连接符: select 字段名||‘字符’||字段名 ... from 表名
select empno||'的姓名是'||ename as "信息" from emp
--去除重复:select distinct 字段名 from 表名
--注意:去重是按行去重,多行数据相同取其一
select distinct job from emp
--排序:desc 降序 asc 升序
select *from emp order by empno desc --单字段排序
select *from emp order by empno,job asc --多字段排序
--字段的逻辑运算
select empno,ename,sal*2+1000 from emp
select empno,ename,sal*2+1000,sal+comm from emp
--条件限定(where)
--各类运算符:=等于,>大于,<小于,>=大于或等于,<=小于或等于,<>不等于
select *from emp where sal > 500
--between and (查询900-2000的数据)
select *from emp where sal between 900 and 2000
--in (要么等于多少,要么等于多少)
select *from emp where sal in(800,1600)
--like(模糊查询,%表示任意匹配,有或者没有都可以,_表示有,并且只有一个)
select *from emp where ename like '%a'
--is null(查询为null的数据)
select *from emp where job is null
--逻辑运算符:AND与 OR或 NOT非
select *from emp where sal<800 or sal>1500
--关联查询(需要两张表,left on)
--统计函数:count总数 max最大 min最小 avg平均
select count(*)from emp where sal>800 --统计工资高于800的人数
select max(sal),min(sal) from emp where deptno = 20 --统计deptno里为20的sal最大最小值
select avg(sal) from emp --sal的平均值
--分组函数group
select avg(sal),deptno from emp --统计deptno里的平均值
group by deptno
--having:对分组函数进行条件判断
select avg(sal),deptno from emp
group by deptno
having avg(sal)>2000 --统计大于2000的平均值
--子查询:子查询即可以简单的理解成同时执行多条sql语句将一条sql语句的查询结果作为条件来执行另一条sql语句
select count(*)from emp where sal>
(
select sal from emp where ename = 'SMITH'
)
--分页查询:rownum
select *from emp where rownum <= 5 --查询五条数据
select *from
(
select *from(select *from emp order by sal desc)
)
where rownum<=5 --查询薪水最高的五条记录
--Oracle创建新表
create table hero(
id number,
name varchar2(100),
hp number,
mp number,
speed number,
sex char(4),
birth date,
uskill varchar2(100)
)
--为新表添加数据
insert into hero values(001,'流浪法师',500,500,365,'男','08-4月-2005','曲径折跃');
insert into hero values(002,'战争之王',530,580,385,'男','18-9月-2008','大荒星陨');
insert into hero values(003,'弗拉基米尔',523,0,395,'男',to_date('2000-09-01','yyyy-mm-dd'),'鲜血潮汐');
insert into hero values(004,'拉克丝',500,600,309,'女','19-2月-2010','终极闪光');
insert into hero values(005,'虚空恐惧',600,570,378,'女','22-10月-2012','盛宴');
select *from hero
--修改数据
update hero set birth = to_date('2000-09-01','yyyy-mm-dd') where id = 3;
--删除数据
delete from hero where id = 5;
--舍去表:truncate table hero
--修改表结构:alter
--增加新的一列:alter table hero add (kills number)
--修改列:alter table hero modify(name varchar2(300))
--删除列:alter table hero drop column kills
--删除表:drop table 表名
约束种类
唯一约束 unique 不可重复
非空约束 not null 不能为空必须制定值
主键约束 primary key 通常是给id使用的,同时具备了unique和not null约束
外键约束 foreign key
Oracle_20200416的更多相关文章
随机推荐
- [Oracle19C ASM管理] 安装和配置ASM以及Oracle数据库
一般设置 关闭防火墙 检查防火墙状态 systemctl status firewalld.service 暂时关闭防火墙,下次启动时防火墙仍随系统启动而启动 systemctl stop firew ...
- oracle学习之索引的介绍
在关系型数据库中,用户查找数据与行的物理位置无关紧要.为了能够找到数据,表中的每一行均用一个rowid来标识,rowid能够标识数据库中某一行的具体位置.当Oracle数据库中存储海量的记录时,就意味 ...
- ASPICE的实践
ASPICE这种规范文件如果严格遵守,那么投入产出比是比较小的. 但是其中的思想是很好的,比如对需求的管理.讲究双向可追溯. 但是也是有很多需要慎重的,比如对component和unit的区分太过明显 ...
- C++内存分配Arena,指的是提前分配的一大块连续内存空间
参考: https://stackoverflow.com/questions/12825148/what-is-the-meaning-of-the-term-arena-in-relation-t ...
- 【OBS Studio】使用 VLC 视频源播放视频报错:Unhandled exception: c0000005
使用 OBS Studio 和 VLC media player 可以实现视频播放列表的推流,参考『OBS如何添加播放列表?』. 但是使用过程中发现使用 VLC 视频源播放视频时,一个视频播放完切换下 ...
- AutoMapper在.Net Core WebApi中使用
在.Net Core WebApi 里使用AutoMapper 1. 安装AutoMapper管理包 注意:service层中安装 WebApi层也需要安装 因为Webpi层有时候也需要用到Dto ...
- 普通java项目打成jar包,引入第三方jar .
ja方法1 . MANIFEST.MF 中添加 Class-Path . 1. 项目src目录下创建 META-INF/MANIFEST.MF 文件.文件内容 Manifest-Version ...
- SVN创建自己的版本库
1.创建版本库 第一:新建文件夹 第二:将新建文件与SVN建立关联(创建版本库) 直接选择OK 点击确定后文件夹图标也换了 该下的信息就是用来协助我们存储数据的(不是数据) 2.获取SVN库中的数据并 ...
- Linux下如何排查CPU及内存占用过多
CPU 使用top命令,然后按shift+p按照CPU排序,找到占用CPU过高的进程pid. 使用top -H -p pid命令,找到进程中消耗资源最高的线程ppid. 使用echo 'obase=1 ...
- 理解函数调用_使用argument参数
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...