【Oracle】个人收集整理的Oracle常用SQL及命令

devtools/2024/11/30 18:12:54/

【建表】

create table emp(

    id number(12),

    name nvarchar2(20),

    primary key(id)

);

【充值一】

insert into emp

select rownum,dbms_random.string('*',dbms_random.value(6,20))

from dual

connect by level<101;

【充值二】

begin

for i in 1..100 loop

    insert into emp values(i,'No.'||i);

end loop;

commit;

end;

/

【充值三】

(要充值的表)

create table heishehui(

    id number(12),

    name nvarchar2(20),

   groupname nvarchar2(20),

   primary key(id)

);

(PLSQL程序)

declare

    v integer;

begin

for i in 1..100 loop

     v:=dbms_random.value(1,5);

    insert into heishehui values(i,'No.'||i,decode(mod(v,2),0,'洪兴',1,'东星'));

end loop;

commit;

end;

/

【更新字段内容】

update emp set age=dbms_random.value(18,65) where 1=1;

【加字段】

alter table emp add(dept number(2));

【删字段】

alter table emp drop column dept;

【更改字段类型】

alter table emp modify(dept number(5));

【字段改名】

alter table emp rename column dept to deptid;

【表改名】

alter table emp rename to emp1;

【看表下有什么字段及其类型】

select column_name,data_type

from all_tab_columns

where table_name=upper('emp');

(简化版)

desc emp;

【增删无名unique约束】

alter table emp add unique(name);

alter table emp drop unique(name);

【增删有名唯一性限制】

alter table ar_variable add constraint AR_VARIABLE_UID_NAME_UNIQUE unique(uid,name);

alter table ar_variable drop constraint AR_VARIABLE_UID_NAME_UNIQUE;

【查看某表上的约束】

select constraint_name,constraint_type,search_condition

from user_constraints

where table_name=upper('emp');

【查看单个约束】

select saerch_condition

from user_constraints

where table_name=upper('emp') and

           constraint_name='SYS_C0011586';

【删除约束】

alter table ar_variable drop constraint SYS_C0011586;

【添加约束】

alter table emp add primary key(id);

alter table emp add unique(name);

alter table emp add check(status=1 or status=0);

alter table emp add check(dept='dev' or dept='mng' or dept='sales');

【建表时即加约束】

create table XXX(

    prj varchar2(10) check(prj='oper' or prj='sql' or prj='api),

    status number(1) check(status=0 or status=1),

    ...

);

【Sqlplus中设置列宽】

column XXX format a30;

简短模式:col XXX for a30;

逆操作:column XXX clear;

【Sql plus连远程DB】

模式:conn username/password@ip:port/servicename

实例:conn datamng/123456@170.0.35.86:1521/db19c

【查看解释计划】

1.explain plan for select f1,f2 from tb where ...

2.select * from table(dbms_xplan.display);

【用hint强制走索引】

create index idx_age on emp(age);

select /*+ index(emp,idx_age)*/ name from emp where age=42;

【查看服务名】

show parameter service;

【查看实例名】

select * from v$instance;

【查看数据库名】

select name from v$database;

【查看用到几个表空间】

select distinct tablespace_name from tabs;

【看当前用户能用的表】

1.select * from tab;

2.select table_name from user_tables;

【不让直接改字段类型之曲线救国做法】

1.加  alter table emp add(f2 varchar2(100));

2.拷 update emp set f2=f1;

3.删 alter table emp drop column f1;

4.改 alter table emp rename column f2 to f1;

【设字段为主键前清除重复】

1.确认有无重复

select id from test group by id having count(id)>1;

2.删除多余之N条

delete from test where rowid<>(select max(rowid) from test where id=2);

3.删除完设上主键

alter table test add constraint pk_test primary key(id);

【创建序列】

CREATE SEQUENCE emp_sqs
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
NOCACHE;

【创建注释】

给表加注释

comment on table ta is '表A';

给视图加注释

comment on table vb is '视图B';

给字段加注释

comment on column ta.f1 is '表A的字段1';

 【日期时间与字符串互转】

时间转字符串

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

字符串转时间

select to_date('2022-06-03','yyyy-mm-dd') from dual;

END


http://www.ppmy.cn/devtools/138263.html

相关文章

鼠标前进后退键改双击,键盘映射(AutoHotkey)

初衷&#xff1a; 1.大部分鼠标为不可自定义按键&#xff0c;可以自定义的又很贵。 鼠标左键是双击是很频类很高的操作&#xff0c;鼠标前进/后退按键个人感觉使用频率很低&#xff0c;因此把鼠标前进/后退改为双击还是很合适的。 2.有些短款的键盘没有Home或End键&#xff0c;…

Vue.js 中的事件监听与事件修饰符

在 Vue.js 中&#xff0c;事件监听是一种常见的交互方式&#xff0c;它允许我们在用户与界面交互时执行特定的代码。Vue.js 提供了一种简洁的语法来绑定事件监听器&#xff0c;并且支持事件修饰符来控制事件的行为。在本篇博客中&#xff0c;我们将详细介绍 Vue.js 中的事件监听…

PHP中类名加双冒号的作用

在 PHP 中&#xff0c;类名加双冒号&#xff08;::&#xff09; 是一种用于访问类的静态成员和常量的语法。它也可以用来调用类的静态方法和访问 PHP 的类相关关键词&#xff08;如 parent、self 和 static&#xff09;。以下是详细的解释和用法。 1. 用途概述 :: 被称为作用域…

Springboot项目集成Mybatis-Plus,多数据源配置,写主读从

Mybatis-Plus简介 官网&#xff1a;Mybatis-Plus官网传送门 简介 MyBatis-Plus&#xff08;简称MP&#xff09;&#xff0c;一个MyBatis的增强工具&#xff0c;在MyBatis的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。它提供了诸如自动生成SQL、通用CRUD操…

常见的分布式解决方案的横向对比

对常见的分布式解决方案进行横向对比&#xff0c;分析它们的优缺点以及适用场景。下面我会从几个主要环节&#xff08;如微服务架构、消息中间件、数据库、缓存、分布式事务、任务调度等&#xff09;来进行对比&#xff0c;并列出各个方案的特点、适用范围以及边界。 1. 微服务…

day 27 第八章 贪心算法 part01

第一题&#xff1a;455.分发饼干 解题思路 本题的核心目标是在给定孩子的胃口值数组 g 和饼干尺寸数组 s 的情况下&#xff0c;尽可能多地满足孩子的胃口&#xff0c;也就是找到能满足孩子数量的最大值。解题思路主要是基于贪心算法&#xff0c;以下是具体的分析&#xff1a…

面试学习准备

根据面试题web前端面试 - 面试官系列 里面的题目学习巩固。 1.vue2 组件通信 EventBus&#xff1a; 讲解 全局事件总线&#xff0c;核心思想是通过发布-订阅模式来实现组件之间的通信 在 Vue 2 中&#xff0c;可以直接使用 Vue 实例作为 EventBus。 使用方法&#xff1a;在…

ubuntu24.04安装Kubernetes1.31.0(k8s1.30.0)高可用集群

ubuntu24.04安装Kubernetes1.30.0(kubernetes1.30.0)高可用集群 一、总体概览 目前最新版的K8S版本应该是1.31.0,我们安装的是第二新的版本1.30.0,因为有大神XiaoHH Superme指路,所以基本上没踩坑,很顺利就搭建完成了。所有的机器都采用的最新版Ubuntu-Server-24.04长期支…