• Oracle--sqlplus--常用命令


    登陆:win+R输入sqlplus即可

    如果前期没有用户可以输入sqlplus /nolog  记得sqlplus后有一个空格

     --格式化命令

    进行数据查询时,默认的方式排版会很乱,如果我们要解决这个问题,那么可以设置屏幕的宽度。

    我们还可以通过sqlplus 来设置每行的字符数

     1 SERLINESIZE 300; 

    解决分页现实:

     1 SET PAGESIZE 30; 

    --对于创建特别长的sql  使用ed命令  ed xx 就会提示你是否创建xx.sql

    随后可用@xx来执行此文件中的sql内容

    ed xx;
    @xx;

    不过在windows上大可不必这样,直接使用notepad,编写好后复制粘贴即可

    --关于用户切换(登陆/连接到某用户)

    CONN 用户名/密码 [AS SYSDBA];
    例:CONN SYS/change_on_install AS SYSDBA;
    --如果使用的是sys用户则需要加上AS SYSDBA

     --现实当前用户

     1 SHOW USER; 

    如果登陆了sys用户,那么想查找其它用户的表,需要在表名前加上用户名 例如

     1 SELECT * FROM c##scott.emp; 

    --登陆一个普通用户

     1 CONN c##scott/tiger; 

     即CONN 用户名/密码; 

    --查看所有的表

     1 SELECT * FROM tab; 

    --如果在查找表时,发现查询出来的结果排版不整齐。

    按如下代码查找(局部格式化)

    1 COL tname FOR A20;
    2 COL tabtype FOR A20;
    3 COL clusterid FOR A20;
    4 SELECT * FROM tab;
    --局部格式化

    --查看某表的结构

    1 DESC 表名;

    --sqlplus 除了执行自己的命令之外 也可以执行本机的命令,只要在相关命令前加上host即可

    例如host dir

    host copy d:/x.jpg d:/xx.jpg

    --只要记得链接和sql即可 一般都用nvicat 

    使用oracle 12 c 推荐添加c##scott.sql用户 命令如下

    -- 使用超级管理员登录
    CONN sys/change_on_install AS SYSDBA ;
    
    -- 创建c##scott用户
    CREATE USER c##scott IDENTIFIED BY tiger ;
    
    -- 为用户授权
    GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE TO c##scott CONTAINER=ALL ;
    
    -- 设置用户使用的表空间
    ALTER USER c##scott DEFAULT TABLESPACE USERS;
    ALTER USER c##scott TEMPORARY TABLESPACE TEMP;
    
    -- 使用c##scott用户登录
    CONNECT c##scott/tiger
    
    -- 删除数据表
    DROP TABLE emp  PURGE ;
    DROP TABLE dept PURGE ;
    DROP TABLE bonus PURGE ;
    DROP TABLE salgrade PURGE ;
    
    -- 创建数据表
    CREATE TABLE dept (
    deptno NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
    dname VARCHAR2(14) ,
    loc VARCHAR2(13) ) ;
    CREATE TABLE emp (
    empno NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,
    ename VARCHAR2(10),
    job VARCHAR2(9),
    mgr NUMBER(4),
    hiredate DATE,
    sal NUMBER(7,2),
    comm NUMBER(7,2),
    deptno NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT );
    CREATE TABLE bonus (
    enamE VARCHAR2(10) ,
    job VARCHAR2(9)  ,
    sal NUMBER,
    comm NUMBER ) ;
    CREATE TABLE salgrade ( 
    grade NUMBER,
    losal NUMBER,
    hisal NUMBER );
    
    -- 插入测试数据 —— dept
    INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');
    INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');
    INSERT INTO dept VALUES (30,'SALES','CHICAGO');
    INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON');
    -- 插入测试数据 —— emp
    INSERT INTO emp VALUES (7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
    INSERT INTO emp VALUES (7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
    INSERT INTO emp VALUES (7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
    INSERT INTO emp VALUES (7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
    INSERT INTO emp VALUES (7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
    INSERT INTO emp VALUES (7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
    INSERT INTO emp VALUES (7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
    INSERT INTO emp VALUES (7788,'SCOTT','ANALYST',7566,to_date('19-04-1987','dd-mm-yyyy')-85,3000,NULL,20);
    INSERT INTO emp VALUES (7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
    INSERT INTO emp VALUES (7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
    INSERT INTO emp VALUES (7876,'ADAMS','CLERK',7788,to_date('23-05-1987','dd-mm-yyyy')-51,1100,NULL,20);
    INSERT INTO emp VALUES (7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
    INSERT INTO emp VALUES (7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
    INSERT INTO emp VALUES (7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
    -- 插入测试数据 —— salgrade
    INSERT INTO salgrade VALUES (1,700,1200);
    INSERT INTO salgrade VALUES (2,1201,1400);
    INSERT INTO salgrade VALUES (3,1401,2000);
    INSERT INTO salgrade VALUES (4,2001,3000);
    INSERT INTO salgrade VALUES (5,3001,9999);
    
    -- 事务提交
    COMMIT;
  • 相关阅读:
    重新开始Blog生活
    google疯了
    用RJS写的检测用户名和email是否存在
    如何在Postgresql中产生自己的集合function
    Sendonly Mail Server with Exim on Ubuntu 10.04 LTS
    碰巧遇到一些智力面试题,解答一下
    ajax check username available in rails
    准备用C#写一个Blog的客户端,大家看看功能缺哪些,哪些不需要?
    关于 Laravel项目多进程队列配置的使用
    电子围栏软件系统开发方案
  • 原文地址:https://www.cnblogs.com/zhangruifeng/p/9452625.html
Copyright © 2020-2023  润新知