初学Oracle的笔记(1)——基础内容(实时更新中..)

1.查看主机名称:

SQL> select host_name from v$instance;

HOST_NAME
----------------------------------------------------------------
mycomputer-PC


2.主要三张表中的数据:

(1)emp 员工表
SQL> set line 120;
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
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 19-4月 -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 23-5月 -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

(2)salgrade:工资级别表
SQL> select * from salgrade;

GRADE LOSAL HISAL
---------- ---------- ----------
1 700 1200
2 1201 1400
3 1401 2000
4 2001 3000
5 3001 9999

(3)dept:部门表
SQL> select * from dept;

DEPTNO DNAME LOC
---------- -------------- -----------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON


3.查看表结构:
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)


4.SQL *plus中显示sql语句:输入“L”及修改sql语句:输入“n text”
SQL> select sql // emp表中没有sql这列,故不能正确查询
2 from emp
3 where sal>1000;
select sql
*
第 1 行出现错误:
ORA-00904: "SQL": 标识符无效


SQL> L           //输入“L”,能将之前缓冲区中的sql语句显示出来,显示最后输入的一句
1 select sql
2 from emp
3* where sal>1000
SQL> 1 select sal        //输入“n text”,n表示的是第几行,text表示的是要替换的值
SQL> /           //输入“/或者是R”,重新运行sql缓冲区中的语句

SAL
----------
1600
1250
2975
1250
2850
2450
3000
5000
1500
1100
3000

SAL
----------
1300

已选择12行。

5.SQL *plus中删除行的语句:输入关键字“DEL n”

SQL> select *
2 from dept
3 where deptno=10;

DEPTNO DNAME LOC
---------- -------------- ------------
10 ACCOUNTING NEW YORK

SQL> l
1 select *
2 from dept
3* where deptno=10
SQL> del 3                                      //输入关键字“DEL n”,表示的是删除第n行的语句
SQL> /                                            //重新运行缓冲区中的语句

DEPTNO DNAME LOC
---------- -------------- ------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

 6.修改(替换)指定的语句内容:输入“C/原文内容/要替换的内容” 
 SQL> select dname

2 from dept
3 where deptno=10;

DNAME
--------------
ACCOUNTING

SQL> l                                     //输入“L”,读取缓冲区中的语句
1 select dname
2 from dept
3* where deptno=10
SQL> c/dname/deptno              //直接输入“C/原文内容/要替换的内容” ,若没有指定行,则找不到字符串
SP2-0023: 未找到字符串
SQL> l
1 select dname
2 from dept
3* where deptno=10
SQL> 1                                     //要先输入指定的行号
1* select dname
SQL> c/dname/deptno;
1* select deptno
SQL> /

DEPTNO
----------
10

7.生成.sql脚本文件的方法:输入“SAVE 路径/文件名”
 SQL> l

1 select deptno
2 from dept
3* where deptno=10
SQL> save E:/sqltest.sql;
已创建 file E:/sqltest.sql                               //注意:在保存的sql脚本文件中的内容为缓冲区中的语句内容,而缓冲区中保存的是最后一次执行的语句


8.运行sql脚本文件的方法:输入“@(start) 路径/文件名”
 
SQL> @ E:/sqltest.sql;

DEPTNO
----------
10

9.获取脚本内容的方法:输入“Get 路径/文件名

SQL> get E:/sqltest.sql;

1 select deptno
2 from dept
3* where deptno=10

也可以直接在记事本中打开编辑:ed 路径/文件名


10.比较重要的SPOOL命令:保存完整的脚本及结果

SQL> spool E:/spooltest.sql;
SQL> select *
2 from dept;

DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> select deptno
2 from dept;

DEPTNO
----------
10
20
30
40

SQL> spool off;
SQL> /

DEPTNO
----------
10
20
30
40

生成的脚本中的内容如图: 

 

今天的笔记就先做到这,希望对和我一样的初学者有帮助。

原文地址:https://www.cnblogs.com/jianglan/p/2382517.html