当前位置:Gxlcms > 数据库问题 > Oracle学习(1):基本语法

Oracle学习(1):基本语法

时间:2021-07-01 10:21:17 帮助过:25人阅读

登陆

安装完毕Oracle之后,在services里面开启Oracle服务,运行cmd,输入sqlplus scott/你的scott密码   连接成功。

录屏清屏

SQL> --录屏为txt文件

SQL>spool off


SQL> --清屏

SQL> host cls

select基本查询

SQL> --当前用户下的表
SQL> select * from tab;


TNAME                          TABTYPE  CLUSTERID                               
------------------------------ ------- ----------                               
DEPT                           TABLE                                            
EMP                            TABLE                                            
BONUS                          TABLE                                            
SALGRADE                       TABLE                                            


SQL> desc emp
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 EMPNO                                     NOT NULL NUMBER(4)
 ENAME                                              VARCHAR2(10)
 JOB                                                VARCHAR2(9)
 MGR                                                NUMBER(4)
 HIREDATE                                           DATE
 SAL                                                NUMBER(7,2)
 COMM                                               NUMBER(7,2)
 DEPTNO                                             NUMBER(2)


SQL> desc dept
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 DEPTNO                                    NOT NULL NUMBER(2)
 DNAME                                              VARCHAR2(14)
 LOC                                                VARCHAR2(13)


SQL> --查询所有员工信息
SQL> select * from emp;


     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM 
---------- ---------- --------- ---------- -------------- ---------- ---------- 
    DEPTNO                                                                      
----------                                                                      
      7369 SMITH      CLERK           7902 17-12月-80            800            
        20                                                                      
                                                                                
      7499 ALLEN      SALESMAN        7698 20-2月 -81           1600        300 
        30                                                                      
                                                                                
      7521 WARD       SALESMAN        7698 22-2月 -81           1250        500 
        30                                                                      
                                                                                


     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM 
---------- ---------- --------- ---------- -------------- ---------- ---------- 
    DEPTNO                                                                      
----------                                                                      
      7566 JONES      MANAGER         7839 02-4月 -81           2975            
        20                                                                      
                                                                                
      7654 MARTIN     SALESMAN        7698 28-9月 -81           1250       1400 
        30                                                                      
                                                                                
      7698 BLAKE      MANAGER         7839 01-5月 -81           2850            
        30                                                                      
                                                                                


     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM 
---------- ---------- --------- ---------- -------------- ---------- ---------- 
    DEPTNO                                                                      
----------                                                                      
      7782 CLARK      MANAGER         7839 09-6月 -81           2450            
        10                                                                      
                                                                                
      7788 SCOTT      ANALYST         7566 13-7月 -87           3000            
        20                                                                      
                                                                                
      7839 KING       PRESIDENT            17-11月-81           5000            
        10                                                                      
                                                                                


     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM 
---------- ---------- --------- ---------- -------------- ---------- ---------- 
    DEPTNO                                                                      
----------                                                                      
      7844 TURNER     SALESMAN        7698 08-9月 -81           1500          0 
        30                                                                      
                                                                                
      7876 ADAMS      CLERK           7788 13-7月 -87           1100            
        20                                                                      
                                                                                
      7900 JAMES      CLERK           7698 03-12月-81            950            
        30                                                                      
                                                                                


     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM 
---------- ---------- --------- ---------- -------------- ---------- ---------- 
    DEPTNO                                                                      
----------                                                                      
      7902 FORD       ANALYST         7566 03-12月-81           3000            
        20                                                                      
                                                                                
      7934 MILLER     CLERK           7782 23-1月 -82           1300            
        10                                                                      
                                                                                


已选择14行。


显示表格设置

SQL> --设置行宽
SQL> set linesize 150
SQL> --设置列宽
SQL> col ename for a8      (a代表字符串   a8表示8位字符串)
SQL> col sal for 9999        (每一个9代表从0到9的一个数字位)
SQL> /


     EMPNO ENAME    JOB              MGR HIREDATE         SAL       COMM     DEPTNO                                                                   
---------- -------- --------- ---------- -------------- ----- ---------- ----------                                                                   
      7369 SMITH    CLERK           7902 17-12月-80       800                    20                                                                   
      7499 ALLEN    SALESMAN        7698 20-2月 -81      1600        300         30                                                                   
      7521 WARD     SALESMAN        7698 22-2月 -81      1250        500         30                                                                   
      7566 JONES    MANAGER         7839 02-4月 -81      2975                    20                                                                   
      7654 MARTIN   SALESMAN        7698 28-9月 -81      1250       1400         30                                                                   
      7698 BLAKE    MANAGER         7839 01-5月 -81      2850                    30                                                                   
      7782 CLARK    MANAGER         7839 09-6月 -81      2450                    10                                                                   
      7788 SCOTT    ANALYST         7566 13-7月 -87      3000                    20                                                                   
      7839 KING     PRESIDENT            17-11月-81      5000                    10                                                                   
      7844 TURNER   SALESMAN        7698 08-9月 -81      1500          0         30                                                                   
      7876 ADAMS    CLERK           7788 13-7月 -87      1100                    20                                                                   


     EMPNO ENAME    JOB              MGR HIREDATE         SAL       COMM     DEPTNO                                                                   
---------- -------- --------- ---------- -------------- ----- ---------- ----------                                                                   
      7900 JAMES    CLERK           7698 03-12月-81       950                    30                                                                   
      7902 FORD     ANALYST         7566 03-12月-81      3000                    20                                                                   
      7934 MILLER   CLERK           7782 23-1月 -82      1300                    10                                                                   


已选择14行。


SQL> set pagesize 20    (设置每页显示多少)
SQL> /


     EMPNO ENAME    JOB              MGR HIREDATE         SAL       COMM     DEPTNO                                                                   
---------- -------- --------- ---------- -------------- ----- ---------- ----------                                                                   
      7369 SMITH    CLERK           7902 17-12月-80       800                    20                                                                   
      7499 ALLEN    SALESMAN        7698 20-2月 -81      1600        300         30                                                                   
      7521 WARD     SALESMAN        7698 22-2月 -81      1250        500         30                                                                   
      7566 JONES    MANAGER         7839 02-4月 -81      2975                    20                                                                   
      7654 MARTIN   SALESMAN        7698 28-9月 -81      1250       1400         30                                                                   
      7698 BLAKE    MANAGER         7839 01-5月 -81      2850                    30                                                                   
      7782 CLARK    MANAGER         7839 09-6月 -81      2450                    10                                                                   
      7788 SCOTT    ANALYST         7566 13-7月 -87      3000                    20                                                                   
      7839 KING     PRESIDENT            17-11月-81      5000                    10                                                                   
      7844 TURNER   SALESMAN        7698 08-9月 -81      1500          0         30                                                                   
      7876 ADAMS    CLERK           7788 13-7月 -87      1100                    20                                                                   
      7900 JAMES    CLERK           7698 03-12月-81       950                    30                                                                   
      7902 FORD     ANALYST         7566 03-12月-81      3000                    20                                                                   
      7934 MILLER   CLERK           7782 23-1月 -82      1300                    10                                                                   


已选择14行。


SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno
  2  from emp;


     EMPNO ENAME    JOB              MGR HIREDATE         SAL       COMM     DEPTNO                                                                   
---------- -------- --------- ---------- -------------- ----- ---------- ----------                                                                   
      7369 SMITH    CLERK           7902 17-12月-80       800                    20                                                                   
      7499 ALLEN    SALESMAN        7698 20-2月 -81      1600        300         30                                                                   
      7521 WARD     SALESMAN        7698 22-2月 -81      1250        500         30                                                                   
      7566 JONES    MANAGER         7839 02-4月 -81      2975                    20                                                                   
      7654 MARTIN   SALESMAN        7698 28-9月 -81      1250       1400         30                                                                   
      7698 BLAKE    MANAGER         7839 01-5月 -81      2850                    30                                                                   
      7782 CLARK    MANAGER         7839 09-6月 -81      2450                    10                                                                   
      7788 SCOTT    ANALYST         7566 13-7月 -87      3000                    20                                                                   
      7839 KING     PRESIDENT            17-11月-81      5000                    10                                                                   
      7844 TURNER   SALESMAN        7698 08-9月 -81      1500          0         30                                                                   
      7876 ADAMS    CLERK           7788 13-7月 -87      1100                    20                                                                   
      7900 JAMES    CLERK           7698 03-12月-81       950                    30                                                                   
      7902 FORD     ANALYST         7566 03-12月-81      3000                    20                                                                   
      7934 MILLER   CLERK           7782 23-1月 -82      1300                    10                                                                   


已选择14行。


SQL> --*和所有列的方式,哪个好?
SQL> --列名好,但在oracle 9i后,可以认为一样
SQL> host cls


查询多项

SQL> --查询员工的编号,姓名和月薪
SQL> select empno,ename,sal
  2  from emp;


     EMPNO ENAME      SAL                                                                                                                             
---------- -------- -----                                                                                                                             
      7369 SMITH      800                                                                                                                             
      7499 ALLEN     1600                                                                                                                             
      7521 WARD      1250                                                                                                                             
      7566 JONES     2975                                                                                                                             
      7654 MARTIN    1250                                                                                                                             
      7698 BLAKE     2850                                                                                                                             
      7782 CLARK     2450                                                                                                                             
      7788 SCOTT     3000                                                                                                                             
      7839 KING      5000                                                                                                                             
      7844 TURNER    1500                                                                                                                             
      7876 ADAMS     1100                                                                                                                             
      7900 JAMES      950                                                                                                                             
      7902 FORD      3000                                                                                                                             
      7934 MILLER    1300                                                                                                                             


已选择14行。


语句出现错误如何修改

SQL> --查询员工的编号,姓名,月薪,年薪
SQL> select empno,ename,sal, sal*12
  2  form emp;
form emp
     *
第 2 行出现错误: 
ORA-00923: 未找到要求的 FROM 关键字 




SQL> --使用c命令修改上一条SQL
SQL> 2
  2* form emp
SQL> c /form/from
  2* from emp
SQL> /


     EMPNO ENAME      SAL     SAL*12                                                                                                                  
---------- -------- ----- ----------                                                                                                                  
      7369 SMITH      800       9600                                                                                                                  
      7499 ALLEN     1600      19200                                                                                                                  
      7521 WARD      1250      15000                                                                                                                  
      7566 JONES     2975      35700                                                                                                                  
      7654 MARTIN    1250      15000                                                                                                                  
      7698 BLAKE     2850      34200                                                                                                                  
      7782 CLARK     2450      29400                                                                                                                  
      7788 SCOTT     3000      36000                                                                                                                  
      7839 KING      5000      60000                                                                                                                  
      7844 TURNER    1500      18000                                                                                                                  
      7876 ADAMS     1100      13200                                                                                                                  
      7900 JAMES      950      11400                                                                                                                  
      7902 FORD      3000      36000                                                                                                                  
      7934 MILLER    1300      15600                                                                                                                  


已选择14行。


SQL> --使用ed命令
SQL> ed
已写入 file afiedt.buf


  1  select empno as "员工号",ename "姓名",sal 月薪, sal*12 年薪
  2* from emp
SQL> /


    员工号 姓名             月薪       年薪                                                                                                           
---------- ---------- ---------- ----------                                                                                                           
      7369 SMITH             800       9600                                                                                                           
      7499 ALLEN            1600      19200                                                                                                           
      7521 WARD             1250      15000                                                                                                           
      7566 JONES            2975      35700                                                                                                           
      7654 MARTIN           1250      15000                                                                                                           
      7698 BLAKE            2850      34200                                                                                                           
      7782 CLARK            2450      29400                                                                                                           
      7788 SCOTT            3000      36000                                                                                                           
      7839 KING             5000      60000                                                                                                           
      7844 TURNER           1500      18000                                                                                                           
      7876 ADAMS            1100      13200                                                                                                           
      7900 JAMES             950      11400                                                                                                           
      7902 FORD             3000      36000        

人气教程排行