Oracle
Oracle基本操作指令
登录
表达式: sqlplus 用户名/密码 (as sysdba) 、sqlplus /nolog
普通用户登录
sqlplus user/password;
sqlplus /nolog;
conn user/password;
超级管理员登录(sys、system)
sqlplus user/password as sysdba;
查看当前用户
show user;
切换用户
conn user/password (as sysdba);
注意:若是切换为超级管理员,则要在后面添加 as sysdba ;
创建用户
必须在管理员身份下才能创建
create user aaa identified by 123; -- 创建用户名为aaa,密码为123
grant dba to aaa; -- 赋予权限
修改用户密码
alter user aaa identified by aaa; -- 将用户aaa密码修改为aaa
查看实例中的用户名和密码
select username,password from dba_users;
查看控制文件位置
select parameter control_files;
查看日志文件位置
select member from v$logfile;
查看用户权限信息
select * from role_sys_privs;
基本函数
1.字符函数
upper(‘字符串’|列名称) 将输入的字符串转换为大写;
lower(‘字符串’|列名称) 将输入的字符串转为小写;
initcap (‘字符串’|列名称) 首字母大写;
length(‘字符串’|列名称) 字符串长度;
replace(~) 进行替换;
ASCII( single_character ) 返回指定字符的ASCII码;
Chr( number_code ) 根据数字代码返回字符,功能与ASCII( ) 相反
substr(字符串|列,开始点[,截取个数]);字符串截取
2.数字函数
函数 | 说明 |
---|---|
CEIL(X) | 大于或等于X的最小值 |
FLOOR(X) | 小于或等于X的最小值 |
ABS(X) | X的绝对值 |
- 四舍五入 round(x,y)
select round(3.1415926,3) from dual;
-- 结果:3.142 round()函数(值,截取位)
select round(2554,-2) from dual;
-- 结果:2600
- 直接截取 trunc(x,y)
select trunc(3.5674) from dual;
-- 结果:3 ,在y缺省时,默认y=0
select trunc(3.5674,2) from dual;
-- 结果:3.56 在y是正整数,截取到小数点后y位
select trunc(312.5674,-2) from dual;
-- 结果:300 在y是负整数时,截取到小数点前y为,若y超过整数位,结果则为0
3.日期函数
- 返回当前日期(带时分)
select sysdate from dual; -- 2021-05-21 17:14:11
- 返回当前日期(不带时分)
select trunc(sysdate) from dual; -- 2021-05-21
注:我在测试时,使用Navicat 15.0.25测试显示为2021-05-21 00:00:00, 使用pl/sql 测试显示2021-05-21 ?????
4.转换函数
- to_char(d|n[,fmt])
把日期和数字转换成指定格式的字符串。fmt是格式化字符串
select to_char(sysdate,'YYYY”年“MM”月“DD”日') from dual; -- 2021年05月21日
5.其他单行函数
- NVL(X,VALUE)
如果X值为空,返回value,否则返回自身
- NVL2(X,VALUE1,VALUE2)
如果X值为非空,返回value1,否则返回value2
6.聚合函数
名称 | 作用 |
---|---|
AVG() | 求平均值 |
SUM() | 求和 |
MIN()、MAX() | 求最值 |
COUNT() | 统计 |
7.自定义函数
create or replace function test2(value1 number,value2 number) return number
as
val number; -- 局部变量
begin
if (value1>value2) then
val := value1;
elsif (value1< value2) then
val := value2;
else
val := 0;
end if;
return val;
end;
/
运行函数
select test2(10,20) from dual;
删除函数
drop function test2;