tnblog
首页
视频
资源
登录

Oracle--常用命令、条件语句、循环语句、SQL函数

4102人阅读 2019/12/25 17:39 总访问:38512 评论:0 收藏:0 手机
分类: Oracle

Oracle常用命令

1、登录数据库

默认账户  默认密码                        拥有权限

sys        123456 as sysdba  拥有数据库的最高权限

system 123456                   dba(数据库管理员)

scott     tiger                       一般权限(scott据说是Oracle公司的第一个员工,tiger是一只猫咪的名字)


2、查询当前登录的账户

show user


3、锁定/解锁账户命令(只能是权限高的一方锁定低的一方,权限分明 )

alter user 锁定账户的名称 account lock;

alter user 解锁账户的名称 account unlock;


4、切换登录的账户(connect 也可以简写为conn,一样的效果)

connect  账户名称/密码


5、修改密码的命令

alter user 账户名称 identified by 新密码


6、授权/撤销授权命令(只能是拥有高级权限的账户对低权限的账户的操作)


授权:grant 权限 to 账户名称

赋予单一的权限

例子:scott账户想要查看system账户的text表,但显然scott权限不足,所以可以通过system账户赋予scott账户查询text表格的权限,如下:

grant select on text to scott;

一次赋予多种权限

例子:scott账户想要查看system账户的某text表并且添加数据,但显然scott权限不足,所以可以通过system账户赋予scott账户查询、添加这张text表的权限,如下:

grant select,insert on text to scott;


取消对某一账户的授权:Revoke 权限 from 账户名

例子:当前账户取消scott账户查询text表的权限,如下:

Revoke select on text from scott;


7、创建账户

create user 账户名称 identified by 密码

给用户赋予所有权限:grant dba to 账户名 

给新创建的账户赋予登录的权限:grant  create session  to 账户名称

给用户赋予表操作的权限:grant create table to 账户名 

给用户赋予表空间操作的权限:grant unlimited tablespace to  账户名 

赋予连接数据库的权限:grant connect to 账户名 

查看当前用户所有权限:select * from user_sys_privs

查看当前用户对表的权限select * from user_tab_privs


8、创建角色

create role 角色名称

grant insert on 表 to 角色   --将插入表的信息

revoke insert on 表 from 用户   --收回farxix角色的权限

grant 角色1 to 角色2   --将角色1的权限授权给角色2

alter user 角色名 default 角色名,角色2   --修改用户默认角色为角色2

drop role 角色名   --删除角色


9、创建序列(相当于表格中的自增ID)

create sequence 序列名 --简单创建序列(初始值为1,自增为1)

createsequence 序列名 start with 初始值  increment by 自增值  maxvalue 最大值   --自定义序列

select  序列名.nextval from dual  -- 查询序列(执行一次查询,则序列自增一次)


10、条件分支语句


DECLARE  i int:=1;

BEGIN --开始

        select * from 表名 where 条件;  --查询

IF  条件满足(如:userInfo.name = "小明") THEN  --条件判断

     update userInfo set userInfo.name="小白" where  userInfo.name="小明";  --满足条件之后的具体操作

END IF; --结束判断

END; --结束


11、三大循环语句

基本循环LOPP

DECLARE

             K INT  := 1;

BEGIN 

          LOPP

             DBMS_OUTPUT.PUT_LINE(K); -- 具体操作(输出操作)

             K  := K+1;

             EXIT WHEN K=10; -- 一定要包含EXIT语句,否则死循环

         END LOOP;

END;


WHILE循环

DECLARE

             K INT  := 1;

BEGIN 

          WHILE K<10 LOOP

             DBMS_OUTPUT.PUT_LINE(K);  -- 具体操作(输出操作)

             K  := K+1;

             EXIT WHEN K=10; -- 循环语句退出条件

         END LOOP;

END;


FOR循环

DECLARE

             K INT  := 1;

BEGIN 

          FOR  K  IN 1..10  LOOP

             DBMS_OUTPUT.PUT_LINE(K); -- 具体操作(输出操作)

         END LOOP;

END;


12、CASE语句

DECLARE

             K INT  := 10;

BIGIN

CASE 

 K

  WHEN 10 THEN  -- 判断条件 K=10

    DBMS_OUTPUT.PUT_LINE(K);  -- 具体操作(输出操作)

END CASE;


13、SQL函数


-- 数值函数


SELECT ABS(-15.9) FROM DUAL; -- ABS() 函数 返回数字的绝对值

SELECT CEIL(-15.9) FROM DUAL; -- CEIL() 函数 返回数字的最小整数

SELECT FLOOR(-15.9) FROM DUAL; -- FLOOR() 函数 返回小于等于数字的最大整数

SELECT ROUND(N,[M]) FROM DUAL; --ROUND() 函数 用于执行四舍五入算法. 如果省略M,则四舍五入至整数位;M为负数,则四舍五入到小  数点前M位;M为正数,则四舍五入至小数点后M位

SELECT TRUNC(-15.9) FROM DUAL;-- TRUNC() 函数 用于截取数字.如果省略M,则只保留整数位;M为负数,则截取N至小数点前的M位;M    为正数,则截取N至小数点后的第M位


-- 字符函数


SELECT LTRIM(char[,set]) FROM DUAL; --LTRIM() 函数 将字符串char左端包含的set中的任何字符,set默认为空格

SELECT RTRIM(char[,set]) FROM DUAL; --LTRIM() 函数 将字符串char右端包含的set中的任何字符,set默认为空格

SELECT LOWER(char) FROM DUAL; --LOWER() 函数 将字符串转化为小写格式

SELECT UPPER(char) FROM DUAL; --UPPER() 函数 将字符串转化为大写格式

SELECT LENGTH(char) FROM DUAL; -- LENGTH() 函数 返回字符串的长度

SELECT REPLACE(char,serch_string[,replace_string]) FROM DUAL; -- REPLACE() 函数 将字符串中的字符替换为指定的字符


--转换函数


SELECT TO_NUMBER(char[,fmt[,nls_param]]) FROM DUAL; --TO_NUMBER() 函数 将符合特定数字格式的字符串转化为数字值

SELECT TO_CHAR(DATE | [,fmt[,nls_param]]) FROM DUAL; --TO_CHAR() 函数 将日期型转变为字符串,其中fmt用于指定日期格式, nls_param用于指定NLS参数

SELECT TO_DATE(char[,fmt[,nls_param]]) FROM DUAL; --TO_DATE() 函数 将符合特定格式的字符串转变为DATE类型的值

SELECT NVL(N,M) FROM DUAL; -- NVL() 函数 如果N为NULL,则返回M,如果N不为NULL,则返回N。N,M数据类型必须匹配(任意数据类型)

SELECT NVL2(N,M,K) FROM DUAL; --NVL2() 函数 如果N为NULL,则返回K,N不为NULL,则返回M.N(任意数据类型),N,M(除了LONG类型)




评价

Redis常用命令

启动服务命令 redis-server.exe redis.windows.conf 连接命令 redis-cli.exe -h ip地址 -p 6379 连接本地...

nginx常用命令。nginx启动命令。nginx重启命令。nginx关闭命令。nginx测试配置文件是否正确。nginx nginx.pid文件丢失报错

启动命令:start nginx 关闭命令:nginx -s stop nginx -s quit nginx -s stop与nginx -s quit区别 Quit is a graceful shu...

docker常用命令删除镜像命令进入容器docker重启命令等

1. docker version查看 Docker 版本信息2. docker info显示 Docker 系统信息,包括镜像,容器数等3. 运行容器第一次使用:d...

rabbitmq常用命令

rabbitmqctl environment:查询环境什么的例如这里可以看到rabbitmq的连接端口是5672,有时间我们想知道端口有没有改起什么...

EF Code First常用命令

Enable-Migrations启用数据库迁移Enable-Migrations –EnableAutomaticMigrations 启动自动迁移Add-Migration Name(名字可...

npm 与 yarn 常用命令对比,yarn还是比较方便些

现在基本上都在用yarn代替npm,管理包比较方便,速度也比较快些,现记录常用命令作用npmyarn安装npminstall(i)yarn卸载npmu...

docker常用命令

Docker简单命令整理清单[TOC] Login 获取账户信息获取账户信息 docker info | sed &#39;/Username:/!d;s/.* //&#39; ...

​.net core常用命令

.net core常用命令命令函数dotnet build生成 .NET Core 应用程序。dotnet build-server与通过生成启动的服务器进行交互。do...

vue脚手架项目常用命令

注意要切换到你项目的根目录去 #配置淘宝npm镜像,提高加载速度 npm config set registry https://registry.npm.taobao...

mysql常用命令,对数据库的基本操作

1.show databases; //查询所有的数据库 1.1查看数据库中的表show tables 2.create database 数据库名...

Linux常用命令大全

date -显示系统当前时间和日期cal -显示当前月份的日历df -查看磁盘剩余空间的数量exit -结束终端会话pwd -打印...

Git的几个简单常用命令

命令备注说明git init用来在当前项目的目录中生成本地的git管理库,当前目录下多了一个.git的隐藏文件夹git add .将该文件...

​.net core常用命令

.net core查看sdk版本版本列表命令: dotnet --list-sdks.net core 查看本地模板命令 :dotnet new list命令函数dotnet bui...

Linux常用命令

重启系统 shutdown -h now 或者 poweroff //立刻关机 shutdown -h 2 //两分钟后关机关闭系统 shutdown -r now 或者 rebo...

Git常用命令02

Git初始化一、Git全局设置gitconfig--globaluser.name&quot;spinkh&quot; gitconfig--globaluser.email&quot;email@sample...
一电照耀十四洲,电来!
排名
53
文章
11
粉丝
5
评论
9
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术