关于 PL/SQL 软件工具使用及 Oracle 常用知识简介

PL/SQL 软件知识

PL/SQL Developer是一个集成开发环境,由Allround Automations公司开发,专门面向Oracle数据库存储的程序单元的开发。有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势的。

主要特性

PL/SQL编辑器,具有语法加强、SQL和PL/SQL帮助、对象描述、代码助手、编译器提示、PL/SQL完善、代码内容、代码分级、浏览器按钮、超链接导航、宏库等许多智能特性,能够满足要求性最高的用户需求。当您需要某个信息时,它将自动出现,至多单击即可将信息调出。

PL/SQL 下载地址
官方网站下载地址:https://www.allroundautomations.com/registered-plsqldev/
安装 PLSQL 需要使用到客户端,因此还需要安装客户端软件:
	https://www.oracle.com/database/technologies/instant-client/downloads.html
官网下载较慢,也可以使用百度云链接提取:
	https://pan.baidu.com/s/1On0pUq092AHTtK7EqVJRNw 提取码:vj3p


PL/SQL 一套详细的安装教程可进入该博客链接:https://blog.csdn.net/Pasto/article/details/108673818?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169148243616800222893631%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=169148243616800222893631&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-108673818-null-null.142v92control&utm_term=PLSQL%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187

PL/SQL 数据库连接

在这里插入图片描述
连接成功后就能看到如下界面:
在这里插入图片描述针对英文不是很好的小伙伴,也能更好的体验到 PL/SQL 工具的便捷,可参考配置如下:
在这里插入图片描述
快捷生成SQL代码配置如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Oracle 常用脚本语法

分享给大家Oracle在实战项目上所涉及的常用脚本语法,希望能帮助到各位小伙伴,快速提升自己,如对语法不理解可百度搜索用法介绍:

-- 查询表存储程序
select * from user_source where upper(text) like '%表%';

-- 查询表是否存在
select * from dba_objects where object_name like '%表%' and object_type ='TABLE'; 

--查询表空间大小
select t.segment_name, sum(t.BYTES /1024/1024)
from dba_segments t 
where t.segment_type='TABLE' and t.owner='PAS' 
group by t.segment_name 
order by sum(t.BYTES /1024/1024)

--查看表序列
select * from user_sequences where sequence_name like '%表%'

-- 查询表所有字段
select wm_concat(column_name) 
from (select column_name from user_tab_columns where table_name='表' order by column_id); 

-- 快速创建并备份表
create table 备份表 as select * from 原表;

-- 查询前10条
select * from 表 where rownum<=10;

-- 新增表字段
alter table 表 add 字段 字段类型;

-- 删除表字段
alter table 表 drop column 字段;

-- 修改表字段类型
alter table 表 modify(字段 字段类型);

-- 创建表
create table 表
(
  字段1   INTEGER not null,
  字段2   VARCHAR2(40),
  字段3   INTEGER,
  字段4   NUMBER(25,4)
)
tablespace 指定表空间
pctfree 10
initrans 1
maxtrans 255
storage
(
  initial 64K
  next 1M
  minextents 1
  maxextents unlimited
);
-- Add comments to the table 
comment on table 表 is '表描述信息';
-- Add comments to the columns 
comment on column 表.字段 is '字段描述信息';
-- Create/Recreate indexes 
create index XPK表 on 表 (主键)
  tablespace 指定表空间
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  )
  nologging;
Oracle 数据库操作
常用内置函数
nvl(exp1, exp2)	其作用是(从两个表达式中返回一个非null值,如果都为空返回null)
coalesce(exp1,exp12,...)	其作用是(从多个表达式中返回一个非null值,如果都为空返回null)
decode(field_name, val1, new_val1, val2, new_val2, default_value)
    其作用是(
      若字段=值1,取值1对应值,若字段=值2,取值2对应值,否则取默认值
      注意点:其里面的值是可以为一个表达式的
    )
row_number(order by field_name)	其作用是(将数据集根据某个字段进行排序,并产生序号字段)
to_date(str, date_format) 其作用是(将字符串转日期格式,格式有:'yyyymmdd | yyyy-mm-dd')
to_char()	其作用是(将其他类型转字符串类型)
    注意点:9(若存在数字显示数字,不存在显示空格)
          0(若存在数字显示数字,不存在显示0)
          fm(删除因为9带来的空格)
wm_concat()	其作用是(行转列,高版本可能会被剔除)
listagg() within group(order by field_name) over(partition by field_name)	其作用是(行转列)
concat(exp1, exp2)	其作用是(字符串拼接,或者用||)
sys_guid()	其作用是(产生并返回一个唯一的标识符,由16或32字符组成,经常用来做表的主键)
over(partition by field_name order by field_name)	其作用是(函数分析)
		常与聚合函数搭配使用来简化代码,因为聚合函数是与 group by 搭配使用的,通过使用分析函数就可以省略不写了
其他常用函数
length(x)	返回x的长度
lower(x)	转小写
upper(x)	转大写
trim(x)	去空格
replace(x,old,new)	在x中查找old,并替换成new
substr(qmx.kmh,1,4)	字段截取
abs(x):取绝对值
avg(x):平均值
cast(exp1 as data_type)	类型转换,转整型时需要注意
between qsrq and jsrq	在...之间...
distinct	去重
inner join	表关联取交集
left join	表关联取左表
group by	分组
partition by	分组,常用在分析函数里搭配使用
order by	排序
union all	将多段SQL语句块进行连接执行
case when ... then ... else ... end	条件判断

排序的三种用法:
dense_rank() over(partition by 分组 order by 排序) px --相同值,排序值相同,且按规则顺序排序
rank() over(partition by 分组 order by 排序) px 		 --相同值,排序值相同,且不按规则顺序排序
row_number() over(partition by 分组 order by 排序) px --相同值,排序值不同,且按规则顺序排序

常用建表数据类型:
integer、varchar、decimal、char、timestamp、clob(存储文本)、blob(图片)、varchar2(oracle)、number(oracle)
常用SQL脚本
drop table 表名;
drop index 索引名;
drop procedure 程序名;
drop sequence 序列名;
alter table 表名 drop constraint '约束名';
alter table 表名 drop columns '列名';
truncate table 表名;	'清空表数据,且索引重置'
user_sequences	查看自增序列
user_source	查看存储程序
user_tables	查看表
user_tab_columns	查看表字段
user_indexes	查看索引
user_views	查看视图
user_tablespaces	查看表空间

--数据连接
sqlplus 用户名/密码 as sysdba

--重启数据库
(1) 以oracle身份登录数据库,命令:su - oracle(注意空格)
(2) 进入Sqlplus控制台,命令:sqlplus /nolog
(3) 以系统管理员登录,命令:connect / as sysdba
(4) 启动数据库,命令:startup
(5) 如果是关闭数据库,命令:shutdown immediate
(6) 退出sqlplus控制台,命令:exit
(7) 进入监听器控制台,命令:lsnrctl(Listener Control的缩写)
(8) 启动监听器,命令:start
(9) 退出监听器控制台,命令:exit
补充知识点

以下仅供参考,具体可按照工作实战去学习研究:

--SQL性能优化:
尽量使用 union all 进行多SQL语句段执行,避免多表查询
用 where 代替其他筛选条件
分库分区分表建索引
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓智模仿秀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值